Das Stringgrid lade ich aus einer SQLite3 Datenbank.
hier ein Ausschnitt aus dem Code:
Delphi-Quellcode:
sgrid_rechnungsdetail.RowCount := 2;
for l := sgrid_rechnungsdetail.FixedRows to sgrid_rechnungsdetail.RowCount - 1 do
sgrid_rechnungsdetail.Rows[l].Clear();
LiteConnection_rechng.Database := ExtractFilePath(Application.ExeName)+'Rechnungen/'+sg_rechng_uebersicht.Cells[2,sg_rechng_uebersicht.Row]+'.db';
LiteConnection_rechng.Connected := True;
try
liteQuery_rechng.SQL.Text := 'SELECT * from data WHERE Position ';
liteQuery_rechng.Open;
while not liteQuery_rechng.Eof do
begin
for n := sgrid_rechnungsdetail.FixedRows to sgrid_rechnungsdetail.RowCount - 1 do
i := n;
sgrid_rechnungsdetail.Cells[2,i]:= liteQuery_rechng.FieldByName('Position').AsString;
sgrid_rechnungsdetail.Cells[3,i]:= liteQuery_rechng.FieldByName('LVtext').AsString;
sgrid_rechnungsdetail.Cells[4,i]:= liteQuery_rechng.FieldByName('Anzahl').AsString;
sgrid_rechnungsdetail.Cells[5,i]:= liteQuery_rechng.FieldByName('Einheit').AsString;
sgrid_rechnungsdetail.Cells[6,i]:= CurrToStrF(liteQuery_rechng.FieldByName('Epreis').AsCurrency,ffCurrency,2);
sgrid_rechnungsdetail.Cells[7,i]:= CurrToStrF(liteQuery_rechng.FieldByName('Gesamt').AsCurrency,ffCurrency,2);
liteQuery_rechng.Next;
sgrid_rechnungsdetail.RowCount := sgrid_rechnungsdetail.RowCount +1;
end;
finally
sgrid_rechnungsdetail.RowCount := sgrid_rechnungsdetail.RowCount -1;
end;
// Gesamtsumme
try
liteQuery_rechng.SQL.Text := ' SELECT SUM(Gesamt) As Gesamt from data WHERE Position ';
liteQuery_rechng.Open;
finally
lbl_rechngd_brutto.Caption := CurrToStrF(liteQuery_rechng.FieldByName('Gesamt').AsCurrency,ffCurrency,2);
end;
// EPreis Summe
try
liteQuery_rechng.SQL.Text := ' SELECT SUM(Epreis) As Epreis from data WHERE Position ';
liteQuery_rechng.Open;
finally
lbl_rechngd_netto.Caption := CurrToStrF(liteQuery_rechng.FieldByName('Epreis').AsCurrency,ffCurrency,2);
end;
Was ich aber gern zusätzlich möchte, ist die Berechnung von dem im Stringgrid geladenen Werten
unabhängig der Summenberechnung über die
Query-
SQL-Text. Die Werte aus
SQL-Datenbank werden im Stringgrid
im Currency-Format angezeigt (z.B. 100,00 €).
Wie kann ich trotzdem mit den Werten im Stringgrid rechnen.
Oder soll ich ganz auf Currency verzichten und nur in Float Farmat rechnen?
Gruß Jmich