Rafraichissement de données

chandrasonic - 7 août 2000 à 19:00
mssahrani Messages postés 3 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 2 juin 2005 - 2 juin 2005 à 22:35
Après une premiere impression d'un objet datareport basée sur une commande d'une connection, l'impression qui suit possede exactement les memes données que la premiere bien que la requete soit differente.

Je pense qu'il s'agit d'un probleme de rafraichissement de données.
Alors je voudrais que l'on me dise comment faire pour couper et retablir la connection apres l'impression ou alors si on peut rafraichir les donnes de Datareport.

D'avance Merci.

1 réponse

mssahrani Messages postés 3 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 2 juin 2005
2 juin 2005 à 22:35
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
Rejoignez-nous