Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2011, 09h03   #1
Membre à l'essai
 
Inscription : février 2011
Messages : 76
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 76
Points : 20
Points : 20
Par défaut interruption du programme

bonjour,

Je voudrais laisser la possibilité à l'utilisateur d'interrompre le script en cours, via un message box et vbyesno.
j'ai essayé des trucs, mais ca ne fonctionne pas et je ne sais pas du tout comment faire.
xargin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 09h42   #2
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bonjour ;

un petit exemple :

Code :
1
2
3
4
5
6
7
8
9
Public sub Test() 
If Msgbox "Voulez vous supprimer ces données " , vbYesNo = vbYes Then 
DoCmd.setWarnings False
DoCmd.RunSQL SQL 
DoCmd.setWarnings True 
Msgbox "Données supprimées"
Else
Exit sub 
End If
Après si tu veux interrompres un script plus complexe comme une boucle , il faudrait soit simuler Ctrl + ECHAP via Sendkeys , soit utiliser l'option DoEvents couplée avec Exit Sub

Cordialement
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 09h44   #3
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
salut,

Comment interrompre le programme en cours.

tu arrêter Access ?
arrêter une requête pendant un traitement ?
autre ?

c'est pas précis ....

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 10h01   #4
Membre à l'essai
 
Inscription : février 2011
Messages : 76
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 76
Points : 20
Points : 20
merci pour vos reponses, mais j'ai un message d'erreur.
j'ai essaye de faire Application.DoEvents, mais access me dit qu'il ne connait pas DoEvents.

Desole Dolphy, je voudrais arreter la boucle, pour revenir a mon formulaire.

en fait, il ne passe pas dans la 2eme boucle:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim test As Double
test = MsgBox("êtes-vous sûr de vouloir commander " & titre & " ?", vbYesNo)
If (test = vbYes) Then
  newcom = "insert into COMMANDE VALUES(" & Me.NumComm & ", '" & titre & "', " & numlign & ", '" & Me.DateComm & "');"
  MsgBox (newcom)
  MsgBox ("salut2")
  CurrentDb.Execute (newcom)
Else
  Dim annulcom As Double
  annulcom = MsgBox("Vous n'avez pas commander de " & desprod & ". Voulez-vous modifier la quantité de produit ?", vbYesNo)
  MsgBox ("salut3")
  If (anulcom = vbYes) Then
     MsgBox ("salut")
  End If
End If
Les messages salut2 et salut3 s affichent, mais pas l'autre, ce qui prouve qu i l ne passe pas dans le 2eme if, mais je ne sais pas pourquoi.

j ai resolu mon probleme. J'ai inverser ma condition, et j ai pu supprimer un if.
xargin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h33.


 
 
 
 
Partenaires

Hébergement Web