DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen orhancc »

Programı çalıştırayım dedim ancak hata düzeltmekten henüz çalıştıramadım düzelince haber veririm tekrar.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

Bekliyoruz bakalım, henüz kimseden ses seda yok.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

Sayın üstadlar, benim kod üzerindeki incelemeniz ne oldu?? Kodları gören herhalde şoka giriyo..aslangeri ve şabanakman hocam zate benden ümidi çoktan kestiler. :roll:
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen conari »

Selam,
Kusura bakmayın açıkçası çok fazla bakamadım, Kodlarda dediğiniz gibi, formdaki bileşenlerde içinde kaybolunuyor. Bakmaya çalışacağım.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

O zaman formlarla ilgili açıklama yapayım biraz.

FORMURUN; ürün stoğunu tuttuğumuz datasete bağlı ve ürün girişlerini buradan yapıyoruz. Ürün girişlerini yaparken, ürün grubu ve firma seçeneklerini dblookupcombobox ile gösterdiğimi göreceksiniz. Bunun amacı, ileride kullanıcının hangi firmadan hangi ürünü aldığı vs. ile ilgili istatistik oluşturabilmek....Bu bakımdan Formürün için yardımcı olarak kullanabileceğimiz FORMFIRMA ve FORMURUNGRUP formları oluşturularak; ürün kaydını girmeden önce kullanıcı önce ürünü aldığı firma ve ürünün grubu ile ilgili bilgiyi oluşturacak; ürünü kaydederken de ürünün bu özelliklerini combobox ile atayabilecek...FORMFIRMA ve FORMURUNGRUP'u FORMURUN'e bağlı yardımcı/tali formlar olarak düşünebilirsiniz...

FORMSATIS ise, müşteriye satışı yaptığımız ekran...FORMSATIS da edit1'in Onkeypress eventi, satılan ürünü FORMURUN'ün bağlı olduğu datasetten filtreleme ile çekiyor ve adodatasettampon'a aktarıyor. DBGridTampon'da adodatasettapon'a bağlı olduğundan bu aktarımı DBGridTampon'dan izliyoruz...FORMSATIS üzerindeki KAYDET butonu ile de tampondataset'te görüntülediğimiz yani sattığımız ürünleri ilgili yerlere işlem için yolluyoruz; yani dataseturun stoktan düşüyor, kasa defteri satışa ekliyor falan...

İstediğim olay ise bu formdaki dbgridtampon üzerinde miktar ve fiyat kolonlarında oynayıp; calcfield olan olan tutar kısmında bu değişimi gözlemlemek (buraya kadar herşey tamam); alttaki GENEL TOPLAM'a da bunu yansıtabilmek (sıkıntı burada)...

aslangeri hocam ile şaban hocam'ın önerdiği kodlarda gözden kaçan birşey var ama ben kıt bilgim ile onu bir türlü çözemedim...Mantıken çok basit, tutar'ı döngüye sok, bunu da tampondataset'in afterpost ya da afterscroll una yaz, dbgrid deki her değişimde gitsin toplam alıp eski toplamı silip yeni toplamı yazsın...Algoritma bu ama koda dökemedik bir türlü...

Umarım daha basit anlatabilmişimdir derdimi.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

conari ve orhancc hocalarım;

e haydin artıkın.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen conari »

Şunları denermisin. Çalışması gerekiyor.

Calcfield eventi.

Kod: Tümünü seç

procedure TFormsatis.ADODataSettamponCalcFields(DataSet: TDataSet);
begin
adodatasettampontutar.Value:= (adodatasettamponmiktar.Value*adodatasettamponfiyat.Value)-(adodatasettamponmiktar.Value*adodatasettamponfiyat.Value*adodatasettamponiskonto.Value)/100;
//Hesapla(formsatis.ADODataSettamponid.Fieldbyname('id').AsInteger);
Hesapla(-1);
//edGenelToplam.Text:= strtofloatdef(edGenelToplam.Text,0)+adodatasettampon.Fields[4].Value;
End;
Keypress eventi nin sonunuda bu şekile getirirmisin?

Kod: Tümünü seç

begin
adodataseturun.Open;
adodatasettampon.Insert;
adodatasettamponbarkod.Text:= adodataseturunbarkod.Text;
adodatasettamponmal.Text:= adodataseturunmal.Text;
adodatasettamponiskonto.Value:= adodataseturuniskonto.Value;
adodatasettamponfiyat.AsCurrency:= adodataseturunfiyat.AsCurrency;
adodatasettamponmiktar.Value:=1;
adodatasettamponkar.AsCurrency:= (adodataseturunfiyat.AsCurrency-adodataseturunmaliyet.AsCurrency);
adodatasettamponkartoplam.AsCurrency:= adodatasettamponmiktar.Value*adodatasettamponkar.AsCurrency;
adodatasettamponsaat.AsDateTime:= now();
adodatasettampon.Append;
adodatasettampon.cancel;
end;
end;
end;
edit1.SetFocus;
edit1.Text:='';
end;


end;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

Yine olmadı :(

İlla ki dbgrid sütunları üzerine 1 tık istiyor genel Toplam'ı almak için??
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen conari »

Bende çalışıyor... gride falan tıklamıyorum..
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen aLonE CoDeR »

Team Viewer ya da muadili bir uygulama kurup erişim bilgilerini buradan ya da özel mesajla yazar mısın, ciddi ciddi merak ettim neyin çalışmadığını..
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

Teamviewer yükledim, erişim bilgilerini özelinize yolluyorum.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

conari yazdı:Bende çalışıyor... gride falan tıklamıyorum..
conari hocam; alttaki GenelToplam'a dikkat ediyor musun, orada hata var.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen canset »

Evet, tüm yardımcı olan/olmaya çalışan üstadlarımdan Allah razı olsun...

Alone Coder hocamın yardımı ile sorunu çözdük ama nasıl çözüldü diye sorarsanız, olaya hakim olduğumu söyleyemem, belli bir noktadan sonra sadece izlemekle yetinmek zorunda kaldım.

Tekrar teşekkürler Alone Coder...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak

Mesaj gönderen conari »

Zaten problem orası değilmiydi?
burada yazmadım bir de kod harici tek değişiklik datasetleri açık bıraktım satış formunda.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla