Hallo.
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" )
Wenn ich jetzt aber den Haken setze, dann zeigt er mir leider nicht alle Daten an, sondern gar keine!
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
Geht das irgendwie, oder kann man meine erste Version so ändern, dass er mir alle Daten anzeigt, wenn der Haken gesetzt ist (also "F_DatumZw" auf '1' steht?
Vielleicht kann mich mal jemand in die richtige Richtung lenken?!
Vielen Dank
Steffen
Hallo.
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]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" )[/code]
Wenn ich jetzt aber den Haken setze, dann zeigt er mir leider nicht alle Daten an, sondern gar keine!
Ich möchte aber in diesem Fall alle Daten sehen.
Darum dachte ich so in diese Richtung:
[code]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[/code]
Geht das irgendwie, oder kann man meine erste Version so ändern, dass er mir alle Daten anzeigt, wenn der Haken gesetzt ist (also "F_DatumZw" auf '1' steht?
Vielleicht kann mich mal jemand in die richtige Richtung lenken?!
Vielen Dank
Steffen