(VB 6) Mettre a jour un data report

Yonathan - 20 sept. 2001 à 21:07
elmagnifica22 Messages postés 8 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 13 avril 2008 - 13 avril 2008 à 12:41
Comment faire pour mettre a jour un état créé sous data report, en liaison avec une base de donnée qui elle est correctement mise a jour.
Actuellement, lors de l'execution du programme, l'on a beau mettre a jour le contenu de la base de donnée (en supprimant l'enregistrement precedent et en mettant un nouveau) l'état n'est pas mis a jour, et ce jusqu'a la prochaine éxécution d'un programme.

Je précise que le data report est lié a la base de donnée par un data environement.

Merci de votre aide

3 réponses

ApprentiEnDetresse Messages postés 3 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 26 juin 2002
26 juin 2002 à 21:48
Le datareport utilise les infos déjà chargé en mémoire et ne réexcute pas la connexion via le data environement donc il faut forcer cette connection pour charger les données en mémoire vive. Voila l'explication physique.

En ce qui concerne le code il faut intégrer la ligne suivante dans la procédure ou tu lance ton datareport:

DataEnvironnement1.rsMonRecordset.Requery
DoEvents
si ca marche toujours pas essaye:

Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
While DRMonRecordset.AsyncCount > 0
DoEvents
Wend

ps: merci à sebcfun pour cette partie de code qui fonctionne à merveille.
Je ne l'ai pas trouvé toute seule.

Voila et bon developpement
0
mssahrani Messages postés 3 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 2 juin 2005
2 juin 2005 à 22:36
Cela est du que vous travaillez toujours avec la même image de votre base. ADO ne voit pas la nécessité de réinterroger la base de données afin d'optimiser les échanges. Il faut donc le forcer. Pour cela, dans la procédure qui appele votre DataReport, ajoutez la ligne suivante :

****************************************************


DataEnvironnement1.rsMonRecordset.Requery
DoEvents
*************************************************


Ca devrait marcher maintenant. Dans certains cas toutefois, si deux interrogations sont trop rapprochés, il faut attendre qu'ADO ai fini son travail à la fermeture du DataReport. Pour éviter cela, dans l'évènement QueryClose de vtre DataReport, ajoutez le code suivant :


Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
While DRMonRecordset.AsyncCount > 0
DoEvents
Wend
End Sub


Et maintenant, ca devrait marcher à tous les coups !
repond moi
0
elmagnifica22 Messages postés 8 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 13 avril 2008
13 avril 2008 à 12:41
data environement /vB6????
0
Rejoignez-nous