Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Mindestens ein Feld in einem Formular ausfüllen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE In meiner Datenbank verwende ich einem Formular 3 Eingabefelder für Versicherungsnummern (für 5-stellige, für 11-stellige oder für 13-stellige Nummern). Beim Ausfüllen muss sichergestellt sein, dass mindestens eines dieser Felder einen Inhalt aufweist. Es dürfen also nicht alle 3 Felder nicht leer bleiben. Wie kann ich diese Prüfung zuverlässig über eine VBA-Prozedur durchführen und sicherstellen, dass ein Datensatz nur mit einem ausgefüllten Feld gespeichert wird?

Diverse Anfragen

ANTWORT Stellen Sie die Eigenschaft "Vor Aktualisierung" des Formulars auf "[Ereignisprozedur]" ein, klicken Sie auf die Schaltfläche mit den drei Punkten und geben Sie im VBA-Editor folgende Anweisungen ein:

Private Sub Form_BeforeUpdate(Cancel As Integer)

  If IsNull(Me.Feld1) And _
     IsNull(Me.Feld2) And _
     IsNull(Me.Feld3) Then
    Beep
    MsgBox "Feld1 oder Feld2 oder Feld3 " & _
           "muss eingegeben werden..."
    Cancel = True
  End If

End Sub

Wenn nun alle drei Felder leer sind, signalisiert "Cancel = True", dass der Datensatz nicht gespeichert und verlassen werden soll. Access hält den Anwender solange im Datensatz, bis mindestens eines der Felder einen Inhalt hat oder der Anwender die Esc-Taste zum Abbrechen der Eingabe betätigt.