Formular über Schaltfläche schließen (Access 97)
Veröffentlicht am 30.12.2003
Frage:
Ich möchte ein Formular über eine Befehlsschaltfläche schließen. Dies führt jedoch zu einer Fehlermeldung, weil z.B. in einem Primärschlüsselfeld kein Wert eingetragen ist.
Wenn ich jedoch das Fenster via Systemmenüfeld schließe, erscheint zwar ebenfalls die Fehlermeldung, das Formular wird aber geschlossen.
Woran liegt das? Oder anders gefragt: Welcher Befehl wird ausgeführt, wenn ich den Systemmenübefehl ausführe?
Antwort:
Wenn Sie ein Formular mittels Systemmenü schließen, prüft Access zunächst die Gültigkeit der Daten. Wird diese verletzt, meldet Access einen Fehler. Sie können das Formular aber trotzdem schließen, indem Sie auf Ja klicken.
Die Datenänderungen werden in diesem Falle rückgängig gemacht. Wenn Sie das Formular mit einer eigenen Schaltfläche schließen möchten, müssen Sie vorher die Daten selbst prüfen. Dazu erweitern Sie die Ereignisprozedur der Schaltfläche:
Private Sub btnSchließen_Click()
If IsNull(Me!Nachname) Then
' Nachname-Feld braucht einen Wert
MsgBox "Kein Nachname eingegeben!"
Me!Nachname.SetFocus Else
' Daten sind OK
DoCmd.Close acForm, Me.Name
End If
End Sub