Ich kann mich meinen Vorrednern nur anschließen. Stringwerte werden anders sortiert als Datumswete. Waährend der Datumswert "01.02" größer ist als der Datumswert "30.01" ist es bei Stringwerten gerade andersherum., da 30 > 01 ist.
Die Verwendung von Parametern bietet sich auch aus Geschwindigkeitsgründen an, wenn der
Query öfters verwendet wird.
Delphi-Quellcode:
DataModule1.PartsVerbrauchQuery.SQL.Add('SELECT PartNr, COUNT(*) FROM Buchungen WHERE PartDatum BETWEEN :vonDatum and :endDatum AND PartStatus = ''Abbuchung''');
...
DataModule1.PartsVerbrauchQuery.ParamByName('vonDatum').asString = StartDatum;
DataModule1.PartsVerbrauchQuery.ParamByName('endDatum').asString = EndDatum;
..