Tipps "n" Tricks
Anwender-Software - Access

Last Update: 24. Dezember 2001/Webmaster

Rückgängig mit Sicherheitsabfrage
Thema: Access 2002
  Bekanntlich können Sie in Access über die Esc-Taste Änderungen am aktuellen Datensatz zurücknehmen oder die Neuanlage eines Datensatzes stornieren. Bislang geschah das ohne Rückfrage von Access, so dass durch das irrtümliches Betätigen der Esc-Taste aufwendige Änderungen oder Neuanlagen verloren gingen. Mit Access 2002 hat Microsoft die Ereignisprozedur "Bei Rückgängig" (VBA: Undo) für Formulare eingeführt. Diese Ereignisprozedur können Sie wie folgt nutzen, um versehentliche Rücknahmen zu verhindern:
  • Setzen Sie die Eigenschaft "Bei Rückgängig" des betreffenden Formulars auf "[Ereignisprozedur]" und klicken Sie auf die Schaltfläche mit den drei kleinen Punkten, um den VBA-Editor zu starten.
  • Geben Sie im VBA-Editor die folgenden Anweisungen ein:
Private Sub Form_Undo(Cancel As Integer)
  Dim strMsg As String, intTaste As Integer

  If Me.NewRecord Then
    strMsg = "Neuanlage wirklich verwerfen?"
  Else
    strMsg = "Änderungen wirklich zurücknehmen?"
  End If
  intTaste = MsgBox(strMsg, vbYesNo+vbQuestion, "Sicher?")
  If intTaste = vbNo Then Cancel = True

End Sub
  • Verlassen Sie den VBA-Editor und lassen Sie das Formular testweise anzeigen.
Wenn Sie nun nach einer Änderung am Datensatz oder in einer Neuanlage im Formular Esc drücken, erfolgt eine kleine Sicherheitsabfrage - ein Klick auf Nein verhindert dann die Rücknahme, die Änderungen/Eingaben bleiben erhalten. Möglich ist dies durch den Parameter "Cancel" - wird er auf "True" gesetzt, so bricht Access das Undo-Ereignis ab.

 

Tipps "n" Tricks
Anwender-Software - Access