Beitrag aus SmartTools Access Weekly
Felder in einem Access-Formular vor der Speicherung prüfen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte Fehleingaben in meiner Datenbank so gut wie möglich reduzieren. Wie kann ich in einem Formular verhindern dass ein Datensatz versehentlich aktualisiert bzw. gespeichert wird? Wenn der Datensatz verlassen werden soll, möchte ich eine Überprüfung vornehmen, ob der Datensatz alle Bedingungen erfüllt, also dass zum Beispiel ob ein Startdatum größer als ein Enddatum ist. Ggf. soll der Speichervorgang abgebrochen und eine Fehlermeldung angezeigt werden.
Diverse Fragen
ANTWORT Für diese Zwecke können Sie die Ereignisprozedur "Vor Aktualisierung" des Formulars nutzen, die aufgerufen wird, bevor Access Änderungen am Datensatz bzw. den Datensatz selbst speichert. Diese Ereignisprozedur unterstützt einen Parameter "Cancel", der - wenn auf "True" gesetzt - dafür sorgt, dass Access die Änderungen bzw. den Datensatz nicht speichert:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.StartDatum > Me.EndDatum Then
MsgBox "Startdatum muss vor Enddatum liegen..."
Cancel = True
End If
End Sub