OVH Cloud OVH Cloud

Doevents (tempo?)

1 réponse
Avatar
seb
Bonjour
j'ai realiser un programme dont voici un extrait
stDocName =3D "=C9tat1"
DoCmd.OpenReport stDocName, acViewPreview
DoEvents
=20
DoCmd.OutputTo acOutputReport, "=C9tat1", acFormatRTF,=20
numdevis & ".rtf", True
DoEvents
=20
DoCmd.RunMacro "impression descriptif"

sa va peut etre trop vite pour moi , mais je voulais=20
savoir si le fait de mettre le doevents ralentissait le=20
deroulement , c'est a dire , par exemple si je veut que=20
le demarrage de la macro "impression descriptif" ne ce=20
fasse seulement qu'apres l'enregistrement de ma doc sous=20
word , c'est bien comme sa qu'il faut faire ou il faut=20
apport=E9 une modif ?
merci

1 réponse

Avatar
Raymond [mvp]
Bonjour.

DoEvents n'est pas un tempo au sens strict de ce mot. DoEvents arrête
momentanément l'exécution afin que le système d'exploitation puisse traiter
d'autres événements.ce qui veut dire bien sûr un arrêt mais s'il n'y a pas
d'autres événements, il sera infinitésimalement petit et non mesurable.
contrairement aux macros , vba va attendre la fin du outputto pour lancer le
runmacro. pour bien voir ce qui se passe tu vas modifier comme suit:

DoCmd.OutputTo acOutputReport, "État1", acFormatRTF,
numdevis & ".rtf", True
DoEvents
msgbox "attendre"
DoCmd.RunMacro "impression descriptif"

et tu verras que le msgbox ne s'affichera pas avant que le fichier soit créé
et que word soit lancé. dans ton cas les doevents ne sont même pas utiles.

petite note: à quoi sert le openreport vu que tu l'affiches immédiatemeent
sous word en rtf ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"seb" a écrit dans le message de
news:9ea501c3ebbd$1acdb120$
Bonjour
j'ai realiser un programme dont voici un extrait
stDocName = "État1"
DoCmd.OpenReport stDocName, acViewPreview
DoEvents

DoCmd.OutputTo acOutputReport, "État1", acFormatRTF,
numdevis & ".rtf", True
DoEvents

DoCmd.RunMacro "impression descriptif"

sa va peut etre trop vite pour moi , mais je voulais
savoir si le fait de mettre le doevents ralentissait le
deroulement , c'est a dire , par exemple si je veut que
le demarrage de la macro "impression descriptif" ne ce
fasse seulement qu'apres l'enregistrement de ma doc sous
word , c'est bien comme sa qu'il faut faire ou il faut
apporté une modif ?
merci