DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Programı çalıştırayım dedim ancak hata düzeltmekten henüz çalıştıramadım düzelince haber veririm tekrar.
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Bekliyoruz bakalım, henüz kimseden ses seda yok.
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Sayın üstadlar, benim kod üzerindeki incelemeniz ne oldu?? Kodları gören herhalde şoka giriyo..aslangeri ve şabanakman hocam zate benden ümidi çoktan kestiler. 

Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
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.
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..



Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
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.
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.
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
conari ve orhancc hocalarım;
e haydin artıkın.
e haydin artıkın.
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Şunları denermisin. Çalışması gerekiyor.
Calcfield eventi.
Keypress eventi nin sonunuda bu şekile getirirmisin?
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;
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..



Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Yine olmadı
İlla ki dbgrid sütunları üzerine 1 tık istiyor genel Toplam'ı almak için??

İlla ki dbgrid sütunları üzerine 1 tık istiyor genel Toplam'ı almak için??
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Bende çalışıyor... gride falan tıklamıyorum..
Bir kelimenin anlamını öğretsen bile yeter..



-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
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ı..
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Teamviewer yükledim, erişim bilgilerini özelinize yolluyorum.
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
conari hocam; alttaki GenelToplam'a dikkat ediyor musun, orada hata var.conari yazdı:Bende çalışıyor... gride falan tıklamıyorum..
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
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...
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...
Re: DBGrid Üzerinde CalcField Sütunun Toplamını Almak
Zaten problem orası değilmiydi?
burada yazmadım bir de kod harici tek değişiklik datasetleri açık bıraktım satış formunda.
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..


