Confirmer l'enregistrement
Par défaut, Access enregistre les modifications ou ajouts via un formulaire sans action volontaire de l'utilisateur.
Il se peut que l'on souhaite que la sauvegarde avant l'enregistrement ou la modification d'un enregistrement ne se produise qu'après confirmations.
On placera alors le code suivant dans la Sub de l'événement "Avant mise à jour" du formulaire :
Private Sub Form_BeforeUpdate(Cancel As Integer) ' Confirmation de la sauvegarde Dim strMsg As String, strTitre As String strMsg = "Les donnés ont changé." & vbCrLf _ & "Voulez-vous les sauvegarder ?" strTitre = "Sauvegarde" If MsgBox(strMsg, vbQuestion + vbYesNo, strTitre) = vbNo Then Cancel = True Me.Undo End If End Sub
On peut encore améliorer le fonctionnement en ajoutant un choix supplémentaire. Ce choix supplémentaire est celui de ne pas sauvegarder, mais en plus, de ne pas annuler les saisies déjà effectuées. Ceci permet de se corriger plus simplement.
La réponse possible à la demande de confirmation est alors;
- Oui => On sauvegarde
- Non => On annule tout
- Annuler => On annule la sauvegarde, mais on reste dans l'enregistrement pour pouvoir le corriger
Le code devient alors :
Private Sub Form_BeforeUpdate(Cancel As Integer) ' Confirmation de la sauvegarde Dim strMsg As String, strTitre As String, strRep As String strMsg = "Les donnés ont changé." & vbCrLf _ & "Voulez-vous les sauvegarder ?" strTitre = "Sauvegarde" strRep = MsgBox(strMsg, vbQuestion + vbYesNoCancel, strTitre) If strRep = vbNo Then Cancel = True Me.Undo ElseIf strRep = vbCancel Then Cancel = True End If End Sub
Dernière modification : 05/08/2011 16:49
Catégorie : Les mémos - Formulaires
Page lue 12607 fois