Bonjour, alors voilà le problème qui me bloque. J'ai un formulaire avec 5 boutons, et un sous-formulaire qui est vide au chargement. Chaque bouton charge un formulaire correspondant (Bout1 charge Form1 ...) et l'affiche dans le sous-formulaire principal.
Sur le Form1 (et sur les 4 autres) j'ai un tableau de données et 3 boutons (enregistrer, nouveau, supprimer). Je souhaite que les modifications soient uniquement enregistrées lorsque l'utilisateur clique sur le bouton "enregistrer", et non pas si on passe d'un formulaire à l'autre avec l'un des 5 boutons.
Donc j'ai commencé par mettre ce code sur le B1 pour sauver les enregistrements :
J'ai essayé de mettre ça sur le Form1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub bSav_Click() Me.bSav.SpecialEffect = 1 DoCmd.RunCommand acCmdSaveRecord End Sub
Mais ça interfère avec le code du bouton. Donc comment empecher l'enregistrement des mises à jour si un gars modifie une donnée et change de formulaire sans enregistrer ? J'ai bien vu la partie qui parle de créer un recordset sur un formulaire indépendant mais je n'ai rien compris !! lol. Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Form_BeforeUpdate(Cancel As Integer) If MsgBox("Voulez-vous confirmer la modification", vbQuestion + vbYesNo, "CONFIRMATION") = vbNo Then Me.undo Cancel = true End if End Sub
Partager