Access Anfänger: Leere Formularfelder

Aus DBWiki
Wechseln zu: Navigation, Suche

Frage

Warum funktioniert das so nicht?

   If Me.FirmaID = "" Then
      MsgBox "Bitte eine Firma auswählen!"
   End If

Antwort

"Leere" Formularfelder enthalten in aller Regel keinen Leerstring "", sondern den Wert Null. Man muss also prüfen:

   If IsNull(Me.FirmaID)  Then
      MsgBox "Bitte eine Firma auswählen!"
   End If

oder auch:

   If Nz(Me.FirmaID, 0) = 0  Then
      MsgBox "Bitte eine Firma auswählen!"
   End If

Formularfelder können dann den Leerstring enthalten, wenn im Tabellenentwurf Leere Zeichenfolge zulassen auf Ja eingestellt ist. Darauf sollte man aber besser verzichten, da es dann zwei optisch nicht mehr unterscheidbare Fälle von leeren Feldern gibt; — nämlich einmal den Leerstring "" und zum anderen den Null-Wert.

Ebenso sollte man im Formular (ungebundene) Felder nicht durch Zuweisung des Leerstrings leeren; also nicht:

   Me.FirmaID = ""

sondern:

   Me.FirmaID = Null

Wikilinks