Beim Aufbau des Datenmodells sind wir an jedem Textfeld an zwei Eigenschaften vorbeigekommen, die eng zusammenhängen und doch ständig verwechselt werden: Eingabe erforderlich und Leere Zeichenfolge. Die erste kennt fast jeder, die zweite steht meist auf ihrem Standardwert, ohne dass jemand darüber nachdenkt. Dabei entscheiden die beiden gemeinsam, welche Zustände ein Feld überhaupt annehmen darf – und ob eine Rechnungsnummer versehentlich „leer, aber vorhanden“ sein kann. Was die beiden Eigenschaften bedeuten, welche vier Kombinationen es gibt und welche Du in der Rechnungsverwaltung wann wählst, liest Du in diesem Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels beziehen sich auf die Datenbank TabellenBasics_EingabeErforderlichUndLeereZeichenkette.accdb aus dem vorherigen Artikel der Reihe.
Zwei Arten von Nichts
Bevor wir zu den Eigenschaften kommen, müssen wir einen Unterschied klären, der auf den ersten Blick spitzfindig wirkt, aber der Kern der ganzen Sache ist. Ein Textfeld kann auf zwei völlig verschiedene Arten „leer“ sein.
Die eine Art ist Null. Das bedeutet: In diesem Feld wurde überhaupt kein Wert gespeichert. Es ist unbekannt, nicht ausgefüllt, leer im Sinne von „da ist nichts“.
Die andere Art ist die leere Zeichenfolge, geschrieben als zwei Anführungszeichen ohne Inhalt: „“. Das bedeutet etwas subtil anderes: Hier wurde sehr wohl ein Wert gespeichert – nämlich ein Text -, dieser Text ist nur zufällig null Zeichen lang. Das Feld enthält eine Zeichenkette, sie ist bloß leer.
Der Unterschied klingt akademisch, hat aber handfeste Folgen, weil Access die beiden unterschiedlich behandelt.
Eine Prüfung auf das eine erkennt das andere nicht:
If IsNull(Me!KundeFirma) Then ' Wahr NUR bei Null, nicht bei einer ' leeren Zeichenfolge End If If Me!KundeFirma = "" Then ' Wahr NUR bei leerer Zeichenfolge, nicht bei Null End If
Genau hier liegt die Tücke: Steht in einem Feld eine leere Zeichenfolge, obwohl Du mit IsNull prüfst, läuft Deine Prüfung ins Leere – im wahrsten Sinne. Und weil man einem Feld nicht ansieht, welche Sorte Leere darin steckt, sind solche Fehler schwer zu finden.
Die beiden Eigenschaften
Jetzt zu den Eigenschaften selbst. Beide findest Du in der Entwurfsansicht einer Tabelle, wenn Du ein Textfeld markierst, im unteren Bereich unter Feldeigenschaften.
Eingabe erforderlich steuert, ob das Feld Null sein darf. Steht sie auf Ja, verlangt Access einen Wert – das Feld darf nicht leer im Sinne von Null bleiben.
Unser exklusives Angebot für Dich!
(Das Abo ist jederzeit monatlich kündbar)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)