Bezüglich der Accessdatenbank hätte ich da mal 'ne Frage:
Sind die Spalten Nachname und/oder Vorname leer oder Null?
Habe eine Datenbank hier, in der einige Felder leer sind, aber die Abfrage
select * from program where genre is null
kein Ergebnis liefert, aber die Spalte ist in der gesamten Tabelle leer.
Zumindest bei
Access scheint es drei Möglichkeiten zu geben:
- einen "sichtbaren" Wert
- einen "unsichtbaren" Wert
- Null
Noch ein paar Beispiele:
Die Spalten genre und lang sind in der gesamten Tabelle leer (in der Anzeige ist kein Wert sichtbar).
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is not null and lang is not null
ergibt eine leere Ergebnismenge.
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is null and lang is null]
ergibt als Ergebnis
>-<. Die leeren Spalten enthalten also auch kein Leerzeichen, sondern einen leeren String, sind aber nicht Null.
Weiß der Geier warum.
Nachdem ich die Spalte genre auf Null gesetzt habe
update program set genre = null where station_id = 3334567
funktioniert auch die Abfrage
select '>'&genre &'-'&lang&'<' as Wert from Program where genre is null
und liefertz alle Sätze zur station_id 3334567.
Diese beiden Abfragen liefern immer ein Ergebnis:
select station_id&', '&genre as Wert from program where genre is not null
select station_id&', '&genre as Wert from program where genre is null
station_id ist in der gesamten Tabelle gefüllt, genre ist teils leer, teils Null.
Die station_id wird ausgegeben, unabhängig davon, ob genre nun Null, leer oder gefüllt ist.
Zumindest in Bezug auf
Access müsste es demnach bei Deiner Datenbank noch eine andere Konstellation geben.
Wie greifst Du auf die Datenbanken zu? (welche Komponenten?)
Tritt der von Dir beschriebene Effekt nur "mittels Delphi" auf oder auch mit den zu den Datenbank gehörenden Oberflächen?