attendre la fermeture d 'un report
Le
caro
bonjour à tous,
Je suis sous Vb access.
Je souhaite attendre la fermeture d'un report ouvert par
DoCmd.OpenReport "mon report", acViewPreview, , acDialog pour exécuter
le code suivant cette commande.
Car si je mets un MsgBox juste après ce openreport, mon message
apparaît avec le report et le msgbox devient prioritaire (je n'ai pas
accès au report tant que je n'ai pas fermé msgbox).
Par contre si je ne mets pas de msgbox mon report est prioritaire et je
dois le fermer pour continuer le code vbil semble que le code
s'exécute de façon différente si il y a un msgbox ou pas.mais
j'en doute..
pouez-vous m'aider?
J'espère avoir été claireet merci pour votre aideprécieuse
Je suis sous Vb access.
Je souhaite attendre la fermeture d'un report ouvert par
DoCmd.OpenReport "mon report", acViewPreview, , acDialog pour exécuter
le code suivant cette commande.
Car si je mets un MsgBox juste après ce openreport, mon message
apparaît avec le report et le msgbox devient prioritaire (je n'ai pas
accès au report tant que je n'ai pas fermé msgbox).
Par contre si je ne mets pas de msgbox mon report est prioritaire et je
dois le fermer pour continuer le code vbil semble que le code
s'exécute de façon différente si il y a un msgbox ou pas.mais
j'en doute..
pouez-vous m'aider?
J'espère avoir été claireet merci pour votre aideprécieuse

Poser une question


a pas de msgbox...ça me rassure d'un sens...mais ça ne règle tjs pas
mon pb....je veux que le code continue aprsè fermeture du report
Je ne crois pas que acDialog soit un paramètre valide de OpenReport, il me semble que tu l'as placé à la place de critères de
sélection.
Tu peux peut-être mettre une boucle pour tester si l'état est ouvert et attendre avant de continuer. Quelque chose du style:
Do While (Reports!MonEtat)
Sleep(500)
Loop
Je ne peux malheureusement pas garantir que ça marchera, car je suis en pleine réinstallation et pour l'instant, je n'ai que
windows, IE et OE qui fonctionnent, pas moyen d'ouvrir mes bases....Mais il y a tant de compétences sur ce NG :-)
J-Pierre
"caro" bonjour à tous,
Je suis sous Vb access.
Je souhaite attendre la fermeture d'un report ouvert par
DoCmd.OpenReport "mon report", acViewPreview, , acDialog pour exécuter
le code suivant cette commande.
Car si je mets un MsgBox juste après ce openreport, mon message
apparaît avec le report et le msgbox devient prioritaire (je n'ai pas
accès au report tant que je n'ai pas fermé msgbox).
Par contre si je ne mets pas de msgbox mon report est prioritaire et je
dois le fermer pour continuer le code vb...il semble que le code
s'exécute de façon différente si il y a un msgbox ou pas....mais
j'en doute..
pouez-vous m'aider?
J'espère avoir été claire...et merci pour votre aide...précieuse...
pause... En remplaçant par
Do While (Reports!MonEtat)
DoEvents
Loop
mais je ne suis pas persuadé de mon coup puisque je n'ai pas testé...
Bon code
--
Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
Pour autant que je sache, DoEvents permet à Windows de reprendre la main pour - par exemple - permettre le rafraichissement de
l'écran, mais ne met pas l'exécution du code en pause.
Pour le Sleep, je ne sais pas non plus ce qu'il met exactement en attente, mais comme je l'utilise pour tester à intervalles
réguliers un évènement (par exemple la création d'un fichier PDF avant de pouvoir mettre ce fichier en pièce jointe d'un
mail), je suppose que "le reste" continue à tourner.
Bon, Caro, tout ça c'est bien gentil, mais nous attendons tous impatiemment que tu testes.
J-Pierre
"ze_titi"
mon objectif n'était pas de te vexer ;-)
En fait, ma proposition visait juste à optimiser le temps de "pause" pour
permettre à d'autres tâches de s'éxécuter (après tout, si Access n'a rien à
faire, autant utiliser le processeur à d'autres choses...) d'où le DoEvents.
Je suis d'accord avec toi concernant les tests !!! :-))
Titi
--
Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ