Bonjour a tous et merci de votre temps et de votre aide.
j'ai une cliente qui m'a demande de mettre une confirmation de changement d'état d'une case a cocher.
j'ai donc implante le code classique suivant :
Et en effet si je reponds Non au message, Access annule la modif et recoche ou redecoche la case a cocher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Check0_BeforeUpdate(prmCancel As Integer) If vbNo = MsgBox("Do you confirm", vbQuestion + vbYesNo + vbDefaultButton2) Then prmCancel = CInt(True) End If End Sub
Le probleme c'est que si je change de champ, mon message de demande de confirmation se declenche a nouveau.
La seule facon que j'ai trouve de m'en sortir est d'appuyer sur la touche "esc" qui brise le cycle de demande de confirmation.
- Si je fais :
Je n'ai plus de cycle mais ma case a cocher n'est pas remise dans son etat inital.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Check0_BeforeUpdate(prmCancel As Integer) If vbNo = MsgBox("Do you confirm", vbQuestion + vbYesNo + vbDefaultButton2) Then prmCancel = CInt(True) me.Check0.undo End If End Sub- J'ai essaye de memoriser la valeur et de la reassigner mais cela genere un message d'erreur me disant que j'ai un macro dans BeforeUpdate qui empeche d'appliquer le changement.
- J'ai essaye
Et la non seulement mon nouvel etat est conserve mais cela le AfterUpdate se declenche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Check0_BeforeUpdate(prmCancel As Integer) If vbNo = MsgBox("Do you confirm", vbQuestion + vbYesNo + vbDefaultButton2) Then me.Check0.undo End If End Sub- Enfin, le code :
Fait ce que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Check0_BeforeUpdate(prmCancel As Integer) If vbNo = MsgBox("Do you confirm", vbQuestion + vbYesNo + vbDefaultButton2) Then prmCancel = CInt(False) Call SendKeys("{ESC}") End If End Sub
Quelqu'un a-t-il deja resolu ce probleme sans utiliser SendKeys(qui n'est pas tres securitaire car il depend du contexe) ?
A+
Partager