|
|
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.
|
|