So, ich versuche es nochmal.
Bei meiner Variante ersetzt du dein jetziges
SQL-Statement durch meines und dort hast du dann eine Spalte mehr, die du verarbeiten musst.
Allerdings finde ich dann doch die Variante von marabu besser.
Also irgendwo machst du doch deine jetzige
Query auf.
Delphi-Quellcode:
var ADOQueryZahlen:TADOQuery;
anzahl:integer;
begin
ADOQueryGrid.Open;
ADOQueryZahlen:=TADOQuery.create(Self);
try
ADOQueryZahlen.Connection:=ADOConnection;
ADOQueryZahlen.SQL.Text:=
'SELECT status, COUNT(*) anzahl'#13 +
'FROM tabelle'#13 +
'GROUP BY status';
ADOQueryZahlen.Open;
while not ADOQueryZahlen.Eof do begin
if ADOQueryZahlen.FieldByName('status').AsString = 'B' then
anzahl:=ADOQueryZahlen.FieldByName('anzahl').AsInteger; // bezahlt
if ADOQueryZahlen.FieldByName('status').AsString = 'N' then
anzahl:=ADOQueryZahlen.FieldByName('anzahl').AsInteger; // nicht bezahlt
if ADOQueryZahlen.FieldByName('status').AsString = 'S' then
anzahl:=ADOQueryZahlen.FieldByName('anzahl').AsInteger; // storniert
ADOQueryZahlen.Next;
end;
ADOQueryZahlen.Close;
finally
ADOQueryZahlen.free;
end;
TADOQuery
Hoffe, das hilft dir weiter
MfG
Thorsten