Zapisuje rekordy ze StrigGrida do bazy w ten sposób:
procedure TForm2.Button4Click(Sender: TObject);
var i:integer;
var dzien,asortyment,trasa:integer;
begin
for i := 1 to StringGrid1.RowCount-1 do
begin
dzien:=DBLookupComboBox2.KeyValue;
asortyment:=StrToInt(StringGrid1.Cells[1,i]);
trasa:=DBLookupComboBox1.KeyValue;
MSQuery3.SQL.Add('INSERT INTO Pozycja (Data, id_dnia, id_asort, id_trasy, Wydano, Zwrot, Sprzedano) VALUES ('''+DateToStr(DateTimePicker1.Date)+''','''+IntToStr(dzien)+''','''+IntToStr(asortyment)+''','''+IntToStr(trasa)+''','''+StringGrid1.Cells[3,i]+''', '''+StringGrid1.Cells[4,i]+''', '''+StringGrid1.Cells[5,i]+''')');
MSQuery3.ExecSQL;
end;
end;
W przypadku pierwszego wciśnięcia przycisku w bazie lądują poszczególne rekordy.
Zmiana danych w tabeli i ponowne wciśnięcie przycisku powoduje, że w bazie zostają zapisane rekordy zarówno zmienione jak i jeszcze raz te poprzednie. Tak jakby ponawiał poprzednie zapytanie. Przy kolejnych przyciśnięciach zachowuje się tak samo.
Nie mogę sobie z tym poradzić.