Interruption d'une tache de type " .execute() "

patvail Messages postés 8 Date d'inscription lundi 16 juillet 2012 Statut Membre Dernière intervention 16 juillet 2012 - 24 déc. 2003 à 10:19
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 26 déc. 2003 à 09:40
Salut à tous .

J'ai une ligne de code du type:

cmd.execute()

Cette ligne execute une procédure stockée dans un serveur SQL.

Le probleme est que cette procédure est tres longue à executer.
Je voudrai donc pouvoir l'annuler par un bouton "Annuler" mais comment faire ??
Doevents ne fonctionne pas dans ce cas là.
Peut être avec un TIMER

Merci d'avance

3 réponses

VbAbdoul Messages postés 73 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 3 décembre 2007 1
24 déc. 2003 à 11:16
Cré un bouton stop et une variable Booleene StopCalcul
Lorsque tu cliques sur ce bouton tu passe la variable a true
et le calcul s'arretera lors de son prochain passage dans la boucle.

While Not rs.EOF And Not StopCalcul
tes calculs
next rs
Wend
0
patvail Messages postés 8 Date d'inscription lundi 16 juillet 2012 Statut Membre Dernière intervention 16 juillet 2012
24 déc. 2003 à 11:44
Le pb n'est pas là.
Lorsque la ligne toto=cmd.execute() est executée, je n'ai plus aucun controle sur l'application VB jusqu'à ce que cmd.execute() renvoi son resultat. Donc impossible d'appuier sur n'importe quel bouton de l'appli. De plus il n'y a pas de boucle.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 déc. 2003 à 09:40
normal, puisque Execute() est une fonction "synchrone" par défaut, regarde du coté des options de Execute() et surtout celle nommée : AdExecuteAsync

Christophe R.
0
Rejoignez-nous