Table1(Kategori) ve Table2(Yemek Listesi) tablolarını birbirlerine bağladım. Kategori gridindeki aktif satır vasıtası ile o kategoriye ait yemekleri alıyorum. Yemek Listesinden de müşterinin istediği ürünün üzerine double click ile satışın bağlı olduğu gride aktarmak istiyorum..
Fakat şöyle bir sorun ortaya çıkmakta:

İlk kategori olan Döner'den seçme yaptığımda aktarımda herhangi bir sorun yok...

Fakat diğer kategorilerden, mesela meşrubatlardan herhangi birisini seçtiğim (cola veya ayran) zaman, diğer gride döner aktarılmakta...
Yazmaya çalıştığım kod aşağıdaki şekilde...
Kod: Tümünü seç
procedure TFORMSIPARIS.DBGrid1DblClick(Sender: TObject);
var
i:integer;
top:double;
begin
table5.Edit;
table5MIKTAR.AsString:= edit2.Text;
table4.FindKey([dbgrid1.fields[0].text]);
if dbgrid1.Fields[0].Text= table4YEMEKADI.Text then
begin
table4.Edit;
table4MIKTAR.Value:= table4MIKTAR.Value+ table5MIKTAR.Value;
table4.First;
edit2.Text:= '1';
top:= 0;
while not (table4.Eof) do
begin
top := top+table4TUTAR.AsCurrency;
table4.Next;
end;
table5TOPTUT.AsCurrency:= top;
end else
begin
table1.Open;
table4.Insert;
table2.FindKey([dbgrid1.fields[0].text]);
table4YEMEKADI.Text:= table2YEMEKADI.Text;
table4FIYAT.AsCurrency:= table2FIYAT.AsCurrency;
table4MIKTAR.Value:= table5MIKTAR.Value;
table4TUTAR.AsCurrency:= table4MIKTAR.Value*table4FIYAT.Value;
edit2.Text:='1';
table4.First;
top:= 0;
while not (table4.Eof) do
begin
top:= top+table4TUTAR.AsCurrency;
table4.Next;
table2.Close;
table2.Open;
end;
table5TOPTUT.AsCurrency:= top;
end;
end;