@Gigant
versuch mal das:
Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery;
cSQL : String;
begin
cSQL := 'SELECT SUM(betrag)||'''' as betrag, konten_fk FROM kontoSoll GROUP BY konten_fk';
if (DB_Open(qKonten,cSQL)) then begin
qKonten.First;
While (Not qKonten.Eof) do begin
cSQL := 'UPDATE konten SET kontostand = '+ QuotedStr(qKonten.FieldByName('betrag').asString)
+' WHERE konto_pk = '+qKonten.FieldByName('konten_fk').asString;
DB_Exec(cSQL);
ShowMessage(qKonten.FieldByName('betrag').asString);
qKonten.Next;
end;
end;
qKonten.Free;
end;
Bei SQLite 3 könnte man sowas dann sogar mit einer
Query erledigen
SQL-Code:
update Konten
set KontoStand =
(select SumBetrag
from (select
Sum(ks.betrag) as SumBetrag,
ks.Konten_FK as KontenFK
from KontoSoll ks
group by ks.Konten_FK
)
where KontenFK = Konto_PK
)