Ist RESTELLUNG ein Stringfeld?
Nein, ein DATE Feld.
Aber warum behandelst du es dann wie Eines?
Tage := DaysBetween(Now, DBBuchungSQLQuery.FieldByName('RESTELLUNG').AsDataTime);
Jetzt nur noch in der entsprechenden
DBMS-Doku nachsehen, wie sich die Funktion nennt, mit welcher man Datumsdifferenzen ausrechnen kann.
Und das
DBBuchungTable.FieldByName('RESTELLUNG').AsString = ''
sollte wohl auch ein
DBBuchungTable.FieldByName('RESTELLUNG').IsNull
darstellen.
... das ist alles einwenig unsauber programmiert ... deswegen auch meine Überarbeitung und gleichzeitiges Umsetzen auf
SQL.
SQL-Code:
WHERE KATEGORIE = 'Einnahmen'
AND RESTELLUNG is not null
AND REEINGANG is null
AND DATEDIFF(day, NOW(), RESTELLUNG) >= 14
... Danke, das war schon fast die Lösung.
WHERE KATEGORIE = "Einnahmen" AND RESTELLUNG is not null AND REEINGANG is null
Dieser
SQL-Befehl klappt wunderbar, natürlich ohne diese 14 Tage-Berücksichtigung.
Sobald ich aber den gesamten Befehl benutze:
WHERE KATEGORIE = "Einnahmen" AND RESTELLUNG is not null AND REEINGANG is null AND DATEDIFF(day, NOW(), RESTELLUNG) >= 14
... erhalte ich eine Fehlermeldung, die heißt:
...Boolean expression expectedt, but 'DATEDIFF' found..."