VBA Tipp: Funktion zum Prüfen, ob ein Textfeld leer ist

Aus DBWiki
Wechseln zu: Navigation, Suche

Anforderung

Ich möchte ein Textfeld oder eine Variable überprüfen, ob es / sie leer ist.

Das ist der Fall, wenn es / sie

  • den Wert Null hat. Ein Null-Wert kann auch mit der IsNull-Funktion überprüft werden.
  • einen Null-String (leere Zeichenfolge) enthält. Ein Null-String kann z.B. entstehen, wenn der Benutzer einen Text eingibt, und ihn anschließend wieder löscht. Eine String-Variable kann auch einen Null-String enthalten. Ein Null-String wird durch die IsNull-Funktion nicht erfasst.
  • nur ein oder mehrere Leerzeichen enthält. Das kommt bei Feldern vor, die als Steuerelementinhalt einen Ausdruck enthalten, z.B. =[Nachname] & " " & [Vorname]. Eine String-Variable kann auch ausschließlich Leerzeichen enthalten.

Lösung

Mit der folgenden Funktion, die in einem globalen Modul hinterlegt wird, kann ein Textfeld oder eine Variable darauf überprüft werden, ob es / sie

  • entweder den Wert NULL
  • oder einen Null-String
  • oder nur Leerzeichen

enthält.

Public Function IstLeer(Ausdruck As Variant) As Boolean
 
 'Quelle: www.dbwiki.net oder www.dbwiki.de
 
 IstLeer = Len(Trim(Ausdruck & vbNullString)) = 0
 
End Function

Aufruf

'auf leeres Feld prüfen
If IstLeer(Me!MeinTextfeld) Then
'oder
If IstLeer(Me!MeinTextfeld) = True Then
 
'auf nicht leeres Feld prüfen
If Not IstLeer(Me!MeinTextfeld) Then
'oder
If IstLeer(Me!MeinTextfeld) = False Then
 
'prüfen, ob zwei Felder leer sind
If IstLeer(Me!MeinTextfeld1) And IstLeer(Me!MeinTextfeld2) Then
 
'prüfen, ob mindestens eines von zwei Feldern leer ist
If IstLeer(Me!MeinTextfeld1) Or IstLeer(Me!MeinTextfeld2) Then

Hinweise

  • Die Funktion "IstLeer" hat mit der Access-internen Funktion "IsEmpty" nichts zu tun.


Der Code wurde in Access 2003 erstellt.