Access Anfänger: Prüfung auf NULL
Aus DBWiki
Frage
Warum funktioniert das so nicht?
If RS!FirmaID Is Null Then MsgBox "Bitte eine Firma auswählen!" End If
oder auch:
If IsEmpty(RS!FirmaID) Then MsgBox "Bitte eine Firma auswählen!" End If
Antwort
Auf NULL-Werte prüft man mit der IsNull-Funktion:
If IsNull(RS!FirmaID) Then MsgBox "Bitte eine Firma auswählen!" End If
In SQL geht das genauso:
SELECT * FROM MeineTabelle WHERE IsNull(MeinFeld)
SQL-konform ist allerdings:
SELECT * FROM MeineTabelle WHERE MeinFeld IS NULL
Die IsEmpty-Funktion prüft auf nicht initialisierte Variant-Variablen - gibt also in diesem Kontext überhaupt keinen Sinn - und stiftet auch sonst in der Programmierung wenig Nutzen:
Dim A as Variant Debug.Print IsEmpty(A) ' hier ist IsEmpty(A) = True A = 1 Debug.Print IsEmpty(A) ' hier ist IsEmpty(A) = False A = Null Debug.Print IsEmpty(A) ' hier bleibt IsEmpty(A) = False