Frage stellen

Versionsgeschichte [zurück]

Klicken, um Version anzuzeigen/zu verstecken 1
Ursprüngliche Version

Du kannst statt

"Datum" <= :datum1

"Datum" <= IFNULL(:datum1,NOW())

schreiben. Das funktioniert allerdings erst ab LO 4.4 einwandfrei. Vorher wurden leere Felder bei Parameterabfragen auch teilweise als leerer Text interpretiert und nicht als NULL.

Du kannst statt

"Datum" <= :datum1

"Datum" <= IFNULL(:datum1,NOW())

schreiben. Das funktioniert allerdings erst ab LO 4.4 einwandfrei. Vorher wurden leere Felder bei Parameterabfragen auch teilweise als leerer Text interpretiert und nicht als NULL.

Zur weitergehenden Frage: Calc-Tabelle macht da keinen Sinn. Nimm eine Tabelle aus Deiner Datenbank, in diesem Fall eben MySQL. Das kann auch eine temporäre Tabelle sein. Die Tabelle benötigt nur einen Datensatz. Dann kannst Du Dir die ganzen Parameter sparen, gibst in die Tabelle die Werte ein und startest dann die Abfrage:

"Datum" <= IFNULL((SELECT "Datum1" FROM "Filter"),NOW())

... funktioniert, wenn die Tabelle nur einen Datensatz enthält. Bei MySQL und Zugriff mehrerer Personen solltest Du eine temporäre Tabelle oder eine Tabelle nutzen, in der über Deine Verbindungsnummer der einzelne Datensatz gefunden werden kann. Das geht praktikabel aber nur über Makros - siehe das Base-Handbuch, S. 475 in der Ausgabe für LO 5.1.