Hi Delphianer,
habe ein kleines Problem wo ich einfach nicht weiter komme.
habe 2 Stringgrid aus dem ich verschiedene Einträge übernehmen bzw auslesen will.
Dies soll per Buttonklick erfolgen. Die Daten sollen dann in dritte Stringgrid und in
eine virtuelle Dankbank ausgeben werden. Hier der Code:
Delphi-Quellcode:
Var
s,k,i,j : integer;
begin
VTable_aufm.Open; //viruelle Datenbanktabelle
VTable_aufm.Clear;
for s := sg_rechnungsdetail.FixedRows to sg_rechnungsdetail.RowCount do
begin
VTable_aufm.Append;
VTable_aufm.FieldByName('lvposition').AsString := aufm_rech.sg_rechnungsdetail.Cells[3,s];
VTable_aufm.FieldByName('lvtext').AsString := aufm_rech.sg_rechnungsdetail.Cells[4,s];
VTable_aufm.Post;
for k := sg_rechnungsposition.FixedRows to sg_rechnungsposition.RowCount-1 do
begin
VTable_aufm.append;
VTable_aufm.FieldByName('lvposition').AsString := aufm_rech.sg_rechnungsposition.Cells[3,k];
VTable_aufm.FieldByName('lvtext').AsString := aufm_rech.sg_rechnungsposition.Cells[4,k];
VTable_aufm.Post;
end;
sg_rechnungsdetail.Row := sg_rechnungsdetail.RowCount-1;
end;
VTable_aufm.Close;
StringGrid1.ColCount := 8;
StringGrid1.RowCount := 0;
VTable_aufm.Open;
VTable_aufm.First;
j := 1;
while not VTable_aufm.Eof do
begin
for i := 1 to VTable_aufm.FieldCount-1 do
aufm_rech.StringGrid1.Cells[i,j] := VTable_aufm.Fields[i].AsString;
VTable_aufm.Next;
inc(j);
aufm_rech.StringGrid1.RowCount := aufm_rech.StringGrid1.RowCount +1 ;
end;
VTable_aufm.Close;
end;
Funktioniert soweit,aber im dritten Stringgrid sowie in der Datenbank erhalte ich immer
drei Zeilen zuviel (dopplete Einträge).
Im Anhang habe ich das Ergebnis vom dritten Stringgrid.
Hat jemand eine Idee wie ich das Problem lösen könnte?
im Voraus schon mal vielen Dank.
Jmich