Abfrage nach falschen Werten in Access funktioniert nicht

2159
Jason Taylor

Ich versuche, eine einfache Datenbank zu erstellen, um den Papierkram beim Abmelden zu verfolgen. In Formular und Tabelle habe ich Ja / Nein-Kontrollkästchen verwendet, um sie zu überprüfen, wenn ein Papier eingelegt wird.

Was ich tun möchte, ist eine Abfrage zu erstellen, damit ich eine Liste mit den Personen erhalten kann, denen der Papierkram fehlt. Wenn ich versuche, die Kriterien auf false zu setzen, bekomme ich nichts von der Abfrage, aber wenn ich True eingestellt habe, bekomme ich nur eine Liste von allen, die alles aufgegeben haben.

Jede Hilfe wäre sehr dankbar.

1

2 Antworten auf die Frage

1
sunset

Wenn Sie die Datenbankstruktur überprüfen, müssen Sie sicherstellen, dass Booleans (der Datentyp hinter dem Kontrollkästchen Ja / Nein) standardmäßig falsch sind. Es ist möglich, dass sie standardmäßig NULL sind (was bedeutet, dass kein Wert festgelegt ist).

Anstatt zu fragen, ob die Kriterien gleich false sind, können Sie auch versuchen, die Kriterien abzufragen, die ungleich true sind - und dies würde auch den Fall von NULL abdecken.

In SQL würden Sie das schreiben als:

SELECT * FROM YourTable WHERE YourBooleanField <> True 
0
Wes Sayeed

In Datenbanken kann ein "boolean" drei Werte haben, nicht nur zwei. Die Werte sind True, False und NULL. NULL ist ein deutlich anderer Wert. Es ist weder wahr noch falsch. Sie ist nur sich selbst gleich (nicht einmal 0) und ist nicht größer oder kleiner als irgendeine Zahl. Es ist nur Gebrauch zu testen, ob ein Feld tatsächlich hat alle Daten darin.

Beim Erstellen Ihrer Datenbank haben Sie dem Feld keinen Standardwert zugewiesen. Der Standardwert ist NULL.