|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
bonjour,
apres quelques recherche sur le net j'ai créé mon formulaire d'attente avec la barre de progression et tout fonctionne bien. Code :
j'ai un truc du genre : call ouv_formAttente ' qui ouvre et fait defiler ma barre nickel call toto1 call toto2 call toto3 call toto4 donc ca fait defiler ma barre de progression et seulement apres ca fait le boulot de mes 4 call. PS : j'arrive pas a saisir cette notion de DoEvents. merci d'avance |
||
|
|
00
|
|
|
#2 | ||||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
C'est un peu nornal et c'est du à
Code :
Personnellement j'irai vers la 2ième solution qui est plus souple et permet de réutiliser ton formulaire d'attente. Ton code d'appel ressemblerai à cela : Code :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
c malheureusement c'que je craignais.
en effet, en réalité j'ai toto1 et 2 = 1min toto3=9min toto4= 30 sec donc pas terrible en progression, j'pensais que sachant que j'avais un traitement qui durait 10min (peu importe le nb de call....), c afficher un progression qui dure elle aussi 10 min mais bien sur que mon traitement réel se fasse lui aussi pdt ce temps là. |
|
|
00
|
|
|
#4 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Est-ce que Toto1, 2 .. 4 pourrait mettre à jour ton formulaire au fur et à mesure de leur progression ?
Sinon tu pourrais aussi regarder l'événement OnTimer et faire avancer ta barre toutes les secondes au lieu d'utiliser une boucle for next. Idée de code : dans le module sous les Otpion dans la sub OnTimer() Code :
Je ne l'ai jamais fais ainsi mais cela devrait marcher. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
mais qd j'ouvre mon formulaire d'attente, j'comprend toujours pas comment lui dire d'exectuer pdt ce temps mais toto's ...
|
|
|
00
|
|
|
#6 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Parce qu'au lien de faire une boucle for next, il va être automatiquement appelé toute (par exemple) les secondes.
Donc logiquement Access
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#7 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Et au niveau logique on en revient à ta 1ière idée.
Code :
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
merci pour toutes ces idées mais j'arrive pas à savoir que mettre dans mon Ouv_formAttente et comment integrer les choses pour maj toutes les secondes.
meme si tu m'as detaillé au maxi les choses mais bon ... |
|
|
00
|
|
|
#9 | ||||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Tu ne change rien à ton code il est pafait comme il est.
Code :
Dans le module du formulaire d'affichage à l'extérieur des subs ou functions. Dans l'événement OnTimer (sur minuterie) Code :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 050 ![]() |
Bonsoir à tous,
il y a, je pense peu de chances pour que ce que tu souhaites faire réussisse. D'une part, tu es dans un environnement procédurale, ce qui implique que toute procédure démarrée doit finir pour qu'une autre puisse être exécutée; d'autre part il faut impérativement que le formulaire d'attente ne soit pas en mode DialogBox, mode dans lequel tant que le formulaire est ouvert le code appelant est interrompu. En clair, si le formulaire d'attente à sa propriété "Fenêtre indépendante" à oui, alors les lignes ne seront exécutés qu'après la fermeture du formulaire. Le formulaire d'attente est censé être appelé par la procédure elle-même. En clair, ce sont les procédures Toto1, Toto2 ... qui doivent créer, initialiser et mettre à jour leur propre formulaire d'attente. Une dernière solution est d'utiliser ma solution de pseudo multithreading , qui est comme quelqu'un l'a indiqué une usine à gaz. |
|
|
00
|
|
|
#11 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Je suis d'accord avec toi ilank mais je pense qu'un formulaire avec minuterie permettra du pseudo multitache. C'est la solution que je préconise.
Qu'en penses-tu ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
ca a l'air de fonctionner mais mon formulaire d'attente s'affiche pas, enfin je vois juste le tour de la fenetre avec le libellé c tout ???
|
|
|
00
|
|
|
#13 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Ajoute une instruction doevents après le me.repaint, cela devrai forcer le raffraichissement de l'affichage.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
non en fait, si j'ouvre le formulaire attente en cliquant dessus, ca marche bien mais c parce que je l'ouvre de mon autre formulaire principal que ca marche pas.
enfin ca marche mais j'vois pas mon formulaire attente auf le tour de la fentre avec n haut la legende dans la barre bleu du haut. le DoEvents ne change rien !! |
|
|
00
|
|
|
#15 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Désolé je ne saisi pas bien, tu as un truc du genre :
Code :
Sinon poste une copie d'écran cela aidera à fixer les idées. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
non j'ai juste dans mon code de forumaire principal sur clic du bouton valider
.... DoCmd.OpenForm "FormAttente" ..... et tu vas pas me croire le imprecran ne fonctionne pas sur ca. il fonctionne qu'une fois mon forumaire d'attente fermer ??? bizarre ca? |
|
|
00
|
|
|
#17 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Oui étrange.
Essaye de simplement ouvrir ton formulaire d'attente sans rien faire de plus. Que se passe-t-il ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#18 | |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
ca marche !
sinon le code ou ca marche pas : Citation:
|
|
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 17 ![]() |
le bug d'affichage :
mon formattente a pour libellé "Patientez..." |
|
|
00
|
|
|
#20 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com