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 nicht den Leerstring, sondern den Spezialwert 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,"") = ""  Then
  MsgBox "Bitte eine Firma auswählen!"
End If

Formularfelder können dann den Leerstring enthalten, wenn im Tabellenentwurf "Leere Zeichenfolge zulassen: 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 (""), 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

Wiki-Links