|
|
Thema: |
Access 97, 2000 und 2002 |
|
Bei der Änderung von Daten in Formularen geht
Access einen, vor allem für unerfahrene Anwender ungewohnten Weg:
Beim Wechsel des Datensatzes werden Änderungen ohne Rückfrage
automatisch gespeichert, eine augenfällige Möglichkeit, begonnene
Änderungen abzubrechen, gibt es anscheinend nicht. Zwar lassen sich
Änderungen im Formular über die Esc-Taste oder mehrmaligen
Aufruf von Bearbeiten-Rückgängig
zurücknehmen, Anwender mit wenig Erfahrung werden diese Funktionen
aber nicht kennen. Angebracht wäre hier eine auffällige Abbrechen-Schaltfläche,
die dem Anwender als "Notausstieg" dient, alle Änderungen
zurücknimmt und das Formular schliesst:
- Öffnen Sie das betreffende Formular im
Entwurfsmodus.
- Legen Sie im Formularfuss eine Schaltfläche
mit der Bezeichnung "Abbrechen" (Name= btnAbbrechen)
an und setzen Sie die Textfarbe auf "Rot" und die
Schriftbreite auf "Fett".
- Stellen Sie die Eigenschaft "Beim
Klicken" auf "[Ereignisprozedur]" ein und klicken
Sie auf die Schaltfläche mit den drei kleinen Punkten, um den
VBA-Editor zu öffnen.
- Geben Sie folgende Anweisungen ein:
Private Sub
btnAbbrechen_Click()
On Error Resume Next
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdUndo
DoCmd.SetWarnings True
DoCmd.Close acForm, Me.Name, acSavePrompt
End Sub
- Schliessen Sie den VBA-Editor und lassen
Sie das Formular anzeigen, um die Schaltfläche zu testen. Ändern
Sie einige Feldinhalte und klicken Sie dann auf \Menue("Abbrechen").
Wenn Sie das Formular anschliessend noch einmal öffnen und den
betreffenden Datensatz prüfen, werden Sie sehen, dass die Änderungen
wie gewünscht verworfen wurden.
Möchten Sie vor dem Verwerfen der Änderungen
und dem Schliessen des Formulars noch eine Sicherheitsabfrage
einbauen, geben Sie statt der oben gezeigten VBA-Anweisungen die
folgende Prozedur ein:
Private Sub btnAbbrechen_Click()
Dim strMsg As String
On Error Resume Next
strMsg = "Möchten Sie die Änderungen
verwerfen?"
If MsgBox(strMsg, vbYesNo + vbQuestion,
"Abbrechen:") _
<> vbYes Then Exit Sub
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdUndo
DoCmd.SetWarnings True
DoCmd.Close acForm, Me.Name, acSavePrompt
End Sub
Beim Einsatz dieser Prozedur wird dem Anwender zunächst eine
Sicherheitsabfrage angezeigt und erst nach einem Klick auf Ja
das Formular nach dem Verwerfen der Änderungen verlassen. |
|