Bonjour à tous !
Voici ce que je voudrais faire : sur un formulaire de saisie, à la fermeture (par bouton ou avec le X de la fenêtre), afficher une boite de dialogue (voulez vous enregistrer ?) avec 3 boutons :
- oui : dans ce cas on ferme le formulaire en enregistrant les valeurs dans la table
-non : dans ce cas on ferme le formulaire sans enregistrer les valeurs dans la table
- annuler : dans ce cas on revient au fomulaire sans le fermer (et si possible on conserve ce qui a été saisi...)
J'ai réussi, avec l'aide des forums(http://www.developpez.net/forums/d12...re-formulaire/) , à faire fonctionner les deux premiers boutons oui et non de la manière suivante :
Mon problème c'est lorsque je clique sur "annuler"... Dans ce cas Access me renvoie un message d'erreur comme quoi il ne peut pas enregistrer de valeurs pour l'instant, je dois donc choisir si je souhaite ou non fermer le formulaire. Je pensais qu'avec le "Cancel" prenant la valeur "True" dans mon évènement "beforeupdate" annulait la fermeture...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Form_beforeupdate(Cancel As Integer) Select Case MsgBox("Voulez-vous enregistrer les modifications ?", vbYesNoCancel, "Confirmation") Case vbYes GoTo fin Case vbNo Me.Undo Case vbCancel Cancel = True End Select fin: End Sub
Auriez vous des pistes pour résoudre ce petit souci, et contourner ce message d'erreur ?
D'avance merci.
Bien cordialement,
Pierre
(PS je suis sous access 2007...)
Partager