Hallo,
bin zwar mit Advantage nicht so vertraut, würde es so angehen:
Code:
SELECT * FROM ZielLog WHERE zl_date between :DA AND :DE AND zl_time between :TA AND :TE ORDER BY zl_date, zl_time
DA usw als Parameter (Firebird-Systax)
Ein DateTime-Feld anstatt Date und Time würde die Sache übrigens deutlich vereinfachen.
Weiter würde ich für die
Query persistente Felder anlegen, ist schneller als FieldByName, was in der Schleife doch oft aufgerufen wird.
Dann habe ich noch die Erfahrung gemacht, dass bei Berechnungen, die Teile von großen Tabellen umfassen, es oft sehr viel schneller geht wenn man den Bereich in eine temporäre Tabelle kopiert und dann die Berechnungen mit der temp. Tabelle macht, wie schon vorgeschlagen.