2010-03-01 8 views
4

J'ai une forme liée dans l'accès Microsoft qui permet à un utilisateur d'ajouter des données à une table. Je souhaite placer un bouton "Annuler" sur le formulaire, qui, s'il est cliqué, arrêtera l'engagement de l'enregistrement.Comment ne pas valider un enregistrement sur MS-Access?

Quelle est la commande dont j'ai besoin pour annuler l'engagement d'enregistrement?

Répondre

5

Cela fait quelques années que j'ai dû travailler avec Access, mais vous devriez être en mesure d'annuler les modifications à l'enregistrement en cours à l'aide de la commande:

DoCmd.RunCommand acCmdUndo 

ou

Me.Undo 

?

+1

Les contrôles ont également une méthode Undo, c'est-à-dire Me! MyTextBox.Undo. –

+1

J'ai exactement le même problème que l'OP mais dans mon cas, il y a un bouton de calcul qui définit un tas de champs sur le formulaire. acCmdUndo va annuler les changements mais pas les changements que le calcul a causé. quelque chose à savoir. – Knox

+0

Knox, pas sûr si cela va fonctionner, mais avez-vous essayé: txtCalcField.Value = txtCalcField.OldValue –

1

J'ai une situation similaire dans laquelle je souhaite que l'utilisateur confirme s'il souhaite enregistrer les modifications et utilise l'événement BeforeUpdate du formulaire pour demander à l'utilisateur s'il souhaite enregistrer les modifications. Cela semble fonctionner plutôt bien, du moins dans mon cas.

Private Sub Form_BeforeUpdate(Cancel As Integer) 

    If MsgBox("Do you want to save changes?", vbYesNo, "Confirm change") = vbNo Then 
     Cancel = True 
    Else 
     'Do Nothing 
    End If 

End Sub 
Questions connexes