OVH Cloud OVH Cloud

Interrompre exécution

4 réponses
Avatar
blancmunier
Bonjour =E0 tous,
Voici mon probl=E8me :
Je travaille sur une base de gestion documentaire avec un module de
recherche tr=E8s complexe. Le temps d'execution d'une recherche est de
l'ordre de la minute. J'aimerais donc pouvoir proposer =E0 l'utilisateur
un bouton annulation en cours de traitement. Je ne veux pas que
l'utilisateur utilise Ctrl+Pause car je perd alors le contenu de mes
variables globales.
Savez vous si Access propose une solution ? Le top serait de pouvoir
stopper l'ex=E9cution du traitement et lancer une proc=E9dure pour fermer
mes objets (pour lib=E9rer la m=E9moire).
Merci de votre aide
Yvan

4 réponses

Avatar
Pierre CFI [mvp]
bonjour
si c'est une req, je vois pas, hormis pause

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

a écrit dans le message de news:
Bonjour à tous,
Voici mon problème :
Je travaille sur une base de gestion documentaire avec un module de
recherche très complexe. Le temps d'execution d'une recherche est de
l'ordre de la minute. J'aimerais donc pouvoir proposer à l'utilisateur
un bouton annulation en cours de traitement. Je ne veux pas que
l'utilisateur utilise Ctrl+Pause car je perd alors le contenu de mes
variables globales.
Savez vous si Access propose une solution ? Le top serait de pouvoir
stopper l'exécution du traitement et lancer une procédure pour fermer
mes objets (pour libérer la mémoire).
Merci de votre aide
Yvan
Avatar
3stone
Salut,


Je travaille sur une base de gestion documentaire avec un module de
recherche très complexe. Le temps d'execution d'une recherche est de
l'ordre de la minute. J'aimerais donc pouvoir proposer à l'utilisateur
un bouton annulation en cours de traitement. Je ne veux pas que
l'utilisateur utilise Ctrl+Pause car je perd alors le contenu de mes
variables globales.
Savez vous si Access propose une solution ? Le top serait de pouvoir
stopper l'exécution du traitement et lancer une procédure pour fermer
mes objets (pour libérer la mémoire).



Tu devrais nous dire comment et en quoi (le code) consiste la recherche...

si tu as une boucle, il y a un moyen...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
blancmunier
re-bonjour
Il s'agit en fait d'une boucle, avec plusieurs requêtes à
l'intérieur de la boucle. Mais il n'y a aucune requête qui soit très
longue à l'exécution.
En fait je me demande si l'evenement "sur touche appuyée" se
déclenche pendant qu'un traitement VBA est en cours ???
Et comment interféré pour arrêté le traitement ?
Yvan
Avatar
3stone
Salut,

Il s'agit en fait d'une boucle, avec plusieurs requêtes à
l'intérieur de la boucle. Mais il n'y a aucune requête qui soit très
longue à l'exécution.
En fait je me demande si l'evenement "sur touche appuyée" se
déclenche pendant qu'un traitement VBA est en cours ???
Et comment interféré pour arrêté le traitement ?



Déjà à chaque étape de la boucle tu dois inclure un DoEvents


Do until true
'boulot...
DoEvents
Loop


ou utiliser ceci comme indiqué dans l'exemple :
(pour stoper par 'Esc' qui est la commande naturelle pour cela)

http://www.mvps.org/accessfr/apis/api0030.htm



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/