Home
Home

---Soumis par Dev Ashish---

Confirmation avant de sauvegarder un enregistrement.

(Q)    Comment puis-je contrôle quand un enregistrement est sauvegardé, depuis un formulaire? 

(A)    La procédure événementielle  BeforeUpdate s'exécute chaque fois qu'Access essaie de sauvegarder un enregistrement. De cette façon, si un usager ne désire pas sauvegarder les modifications, on peut émettre un Undo au lieu de laisser poursuivre le processus de sauvegarde.

Note:  Cette procédure demande une confirmation pour chaque enregistrement. Il est préférable de laisser l'utilisateur gouverner ce comportement, de par l'utilisation d'une case à cocher, par exemple, qu'il peut cocher pour ne plus se faire poser la question de confirmation, on peut alors ajouter le code en conséquence, passant outre la question si cette option est cochée (par exemple).

'****************** Code Start ******************
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
    strMsg = "Les données ont changé."
    strMsg = strMsg & "@Désirez-vous sauvegarder les modifications?"
    strMsg = strMsg & "@Clic Yes pour sauvegarder, No pour annuler."
    If MsgBox(strMsg, vbQuestion + vbYesNo, "Sauvegarde?") = vbYes Then
        'do nothing
    Else
        DoCmd.RunCommand acCmdUndo
        
        'Pour Access 95, utiliser DoMenuItem 
        'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
    End If
End Sub
'****************** Code End ******************