Perte de la main lors d'un gros traitement VBA

Le
Lbrun79
Bonsoir,

J'ai un traitement VBA qui est très lourd à exécuter ce qui fait que lorsque
je commande son exécution à partir d'un formulaire, les barres de progression
qui témoignent de l'avancement du traitement au bout d'un moment se bloquent,
le journal d'exécution que j'alimente en direct dans le traitement n'est plus
non plus mis à jour à l'écran et l'affichage se fige .. cela devient difficle
de faire quoi que ce soit dans Access avant que le traitement ne soit
terminé.. En fait le traitement continue à s'exécuter correctement, c'est
juste le rafraichissement de l'écran qui n'est plus fait.. ce n'est pas
terrible pour l'utilisteur qui est devant son poste sans pouvoir constater
que les choses avancent ..

Existe t-il un moyen pour continuer à garder la main lors d'un gros
traitement dans Access ? (en diminuant par ex. la priorité de ce
traitement)..je précise que j'utilise "doevent" pour me permettre
éventuellement d'annuler le traitement en cours mais cela n'a pas d'incidence
sur l'affichage.

Merci pour vos réponses

Laurent
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jeff
Le #6283191
Salut Laurent,

J'utilise DoEvents dans les mêmes conditions de "gros" traitements sur mes
données, ce qui me permet de garder la main en tout temps (affichage, barre
de progression, utilisation du gestionnaire de tâche pour basculer sur une
autre appli et revenir sur celle-ci avec la main, ...) ! Pour info j'inclue
directement le doevents dans mes boucles de traitement.

Jeff



"Lbrun79" news:
Bonsoir,

J'ai un traitement VBA qui est très lourd à exécuter ce qui fait que
lorsque
je commande son exécution à partir d'un formulaire, les barres de
progression
qui témoignent de l'avancement du traitement au bout d'un moment se
bloquent,
le journal d'exécution que j'alimente en direct dans le traitement n'est
plus
non plus mis à jour à l'écran et l'affichage se fige .. cela devient
difficle
de faire quoi que ce soit dans Access avant que le traitement ne soit
terminé.. En fait le traitement continue à s'exécuter correctement, c'est
juste le rafraichissement de l'écran qui n'est plus fait.. ce n'est pas
terrible pour l'utilisteur qui est devant son poste sans pouvoir constater
que les choses avancent ..

Existe t-il un moyen pour continuer à garder la main lors d'un gros
traitement dans Access ? (en diminuant par ex. la priorité de ce
traitement)..je précise que j'utilise "doevent" pour me permettre
éventuellement d'annuler le traitement en cours mais cela n'a pas
d'incidence
sur l'affichage.

Merci pour vos réponses

Laurent


3stone
Le #6282921
Salut,

"Lbrun79"
| J'ai un traitement VBA qui est très lourd à exécuter ce qui fait que lorsque
| je commande son exécution à partir d'un formulaire, les barres de progression
| qui témoignent de l'avancement du traitement au bout d'un moment se bloquent,
| le journal d'exécution que j'alimente en direct dans le traitement n'est plus
| non plus mis à jour à l'écran et l'affichage se fige .. cela devient difficle
| de faire quoi que ce soit dans Access avant que le traitement ne soit
| terminé.. En fait le traitement continue à s'exécuter correctement, c'est
| juste le rafraichissement de l'écran qui n'est plus fait.. ce n'est pas
| terrible pour l'utilisteur qui est devant son poste sans pouvoir constater
| que les choses avancent ..
|
| Existe t-il un moyen pour continuer à garder la main lors d'un gros
| traitement dans Access ? (en diminuant par ex. la priorité de ce
| traitement)..je précise que j'utilise "doevent" pour me permettre
| éventuellement d'annuler le traitement en cours mais cela n'a pas d'incidence
| sur l'affichage.


Tu devrais indiquer ici la structure du traitement, des boucles - imbiquées ou non,
et ce qui est fait dans la/les boucles...

Un DoEvents, placé au bon endroit, rend parfaitement la main au système,
permet donc également le rafraîchissement de l'écran, au seul inconvéniant
que cela alonge le temps de traitement.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Lbrun79
Le #6282801
Merci à tous les deux..

Mon doevent doit être mal placé.. je corrige et vous tiens au courant le cas
échéant.

Encore merci !
Laurent


Salut,

"Lbrun79"
| J'ai un traitement VBA qui est très lourd à exécuter ce qui fait que lorsque
| je commande son exécution à partir d'un formulaire, les barres de progression
| qui témoignent de l'avancement du traitement au bout d'un moment se bloquent,
| le journal d'exécution que j'alimente en direct dans le traitement n'est plus
| non plus mis à jour à l'écran et l'affichage se fige .. cela devient difficle
| de faire quoi que ce soit dans Access avant que le traitement ne soit
| terminé.. En fait le traitement continue à s'exécuter correctement, c'est
| juste le rafraichissement de l'écran qui n'est plus fait.. ce n'est pas
| terrible pour l'utilisteur qui est devant son poste sans pouvoir constater
| que les choses avancent ..
|
| Existe t-il un moyen pour continuer à garder la main lors d'un gros
| traitement dans Access ? (en diminuant par ex. la priorité de ce
| traitement)..je précise que j'utilise "doevent" pour me permettre
| éventuellement d'annuler le traitement en cours mais cela n'a pas d'incidence
| sur l'affichage.


Tu devrais indiquer ici la structure du traitement, des boucles - imbiquées ou non,
et ce qui est fait dans la/les boucles...

Un DoEvents, placé au bon endroit, rend parfaitement la main au système,
permet donc également le rafraîchissement de l'écran, au seul inconvéniant
que cela alonge le temps de traitement.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Publicité
Poster une réponse
Anonyme