DBGrid DblClick'te Sıkıntı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

DBGrid DblClick'te Sıkıntı

Mesaj gönderen canset »

S.A.

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;


Resim
En son canset tarafından 19 Oca 2017 05:00 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: DBGrid DblClick'te Sıkıntı

Mesaj gönderen erdogan_ozkaya »

ürün girişinde çift tıkladığında sorguya sokup, eğer satışta var ise ekle diyebilirsin yani işlemlerin önüne bir filtre koyarak yapabilirsin.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid DblClick'te Sıkıntı

Mesaj gönderen canset »

Dataset'i kapatırsam zaten sıkıntı yok, iki dataseti karşılaşırıp sadece miktarı artırabiliyorum. Sıkıntı, dataseti kapatmadan bu işlemi yapabilmekte, yani soldaki menüden birden fazla ürüne arka arka çift tıkladığımda sıkıntı oluşuyor.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid DblClick'te Sıkıntı

Mesaj gönderen canset »

Aslında her dblclk olayında işlemi başa döndürebilsem aynı ürün için satır açmayacak sanki ama beceremedim bir türlü
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: DBGrid DblClick'te Sıkıntı

Mesaj gönderen greenegitim »

farklı bir query de sorgulatma işlemini yapıp sorgu sonucunda kayıt var ise konumlanıp (localate) yada direk localete değeri bir artırabilirsin.
Mücadele güzelleştirir!
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid DblClick'te Sıkıntı

Mesaj gönderen canset »

Teşekkürler, 'locate' ile sorunum çözüldü. İyi çalışmalar.
Cevapla