Seit einiger Zeit kämpfe ich mit einem Problem und finde keine Lösung, oder Erklärung.
Ich habe 2 Tabellen.
Eine heißt "Daten" und hat unter anderem die Spalte "Datum".
Die andere heißt "Filter_Zählung" und hat unter anderem die Spalten "F_DatumZw", "F_DatumVon" und F_DatumBis".
In dem Formular sind 2 Datumsfelder und ein Markierfeld (zum Häkchen setzen).
"F_DatumZw" hat so den Wert '0' oder '1' je nach Haken.
"F_DatumVon" und "F_DatumBis" geben eine Zeitspanne an, nach der selektiert werden soll.
In einer Abfrage will ich genau das selektieren.
Also:
WENN Haken nicht gesetzt
DANN sollen nur die Daten angezeigt werden, die in dem Zeitraum liegen
SONST soll das Datum nicht beachtet werden
Bisher klappt das ganz gut:
Haken im Formular wird nicht gesetzt und eine Zeitspanne gewählt.
Dann selektiert mir die folgende Abfrage die Daten und zeigt mir nur die an, die in dem Zeitraum liegen.
Code: Alles auswählen
SELECT * FROM "Daten" WHERE ( SELECT "F_DatumZw" FROM "Filter_Zählung" ) LIKE '0' AND "Datum" BETWEEN ( SELECT "F_DatumVon" FROM "Filter_Zählung" ) AND ( SELECT "F_DatumBis" FROM "Filter_Zählung" )
Ich möchte aber in diesem Fall alle Daten sehen.
Darum dachte ich so in diese Richtung:
Code: Alles auswählen
SELECT * FROM "Daten" WHERE CASE WHEN( SELECT "F_DatumZw" FROM "Filter_Zählung" ) = '0' THEN "Datum" BETWEEN ( SELECT "F_DatumVon" FROM "Filter_Zählung" ) AND ( SELECT "F_DatumBis" FROM "Filter_Zählung" ) ELSE NICHTS-MIT-DEM-DATUM-MACHEN End
Vielleicht kann mich mal jemand in die richtige Richtung lenken?!
Vielen Dank
Steffen