DblClick ile ürünü ilgili dataset'e aktarımı yapabiliyorum. İstediğim datasetin açık kalması ve üzerine çift tıklanılan ürünlerin diğer datasete sorunsuz aktarılması. Döngüde sıkıntı yaşıyorum, bazen aynı ürüne tıklanıldığında miktarı artırabilirken (istenilen), bazen aynı ürünü miktar artırmadan alta yeni ürün gibi atıyor (istenilmeyen durum). Bunu nasıl halledebilirim, yardımcı olacaklara şimdiden teşekkür ederim.
Kod: Tümünü seç
procedure TFormsatis.DBGridurunDblClick(Sender: TObject);
begin
adodatasettampon.Edit;
if formsatis.DBGridurun.Fields[1].Text=adodatasettamponBarkod.Text then
begin
adodatasettampon.Edit;
adodatasettamponmiktar.Value:= adodatasettamponmiktar.Value+1;
adodatasettampon.First;
end else
begin
formurun.adodataseturun.Open;
adodatasettampon.Insert;
adodatasettamponbarkod.Text:= formsatis.DBGridurun.Fields[1].Text;
adodatasettamponmal.Text:= formsatis.DBGridurun.Fields[0].Text;
adodatasettamponiskonto.Value:= formsatis.DBGridurun.Fields[4].Value;
adodatasettamponfiyat.AsCurrency:= formsatis.DBGridurun.Fields[6].AsCurrency;
adodatasettamponmiktar.Value:=1;
adodatasettamponkar.AsCurrency:= (formurun.adodataseturunfiyat.AsCurrency-formurun.adodataseturunmaliyet.AsCurrency);
adodatasettamponkartoplam.AsCurrency:= adodatasettamponmiktar.Value*adodatasettamponkar.AsCurrency;
adodatasettamponsaat.AsDateTime:= now();
adodatasettamponKDV.Text:= formsatis.DBGridurun.Fields[5].Text;
adodatasettampon.Append;
adodatasettampon.Cancel;
end;
edUrun.SetFocus;
edUrun.Text:='';
end;