Access Anfänger: Prüfung auf NULL

Aus DBWiki
Wechseln zu: Navigation, Suche

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

Wiki-Links