Verpass deiner Abfrage für die Summe von Preis mal einen Alias, auf den du dann zugreifst, etwa so:
Delphi-Quellcode:
with Q_Preis
do
begin
Active := False;
SQL.Clear;
SQL.Add('
SELECT SUM(PREIS) SUMME_PREIS, '+
'
DATUM '+
'
FROM ESSEN '+
'
WHERE DATUM BETWEEN :Datum1 AND :Datum2 '+
'
GROUP BY DATUM ');
Prepared := True;
Params.ParamByName('
Datum1').Value := DateOf(MonthCalendar2.Date);
Params.ParamByName('
Datum2').Value := DateOf(MonthCalendar3.Date);
Active := True;
end;
In obigem Beispiel griefst du dann nicht auf das Feld PREIS sondern auf den Alias SUMME_PREIS zu. Das ist auch kein ADS Problem, sondern gilt für alle Datenbanken: sobald du auf Aggregate zugreifen möchtest, mußt du einen Alias verwenden.
Grüße
Mikhal