DBGRID'de işlem yapma ve yapılan işlemlerin toplamnın bulma

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
mtozluklar
Üye
Mesajlar: 5
Kayıt: 30 Haz 2003 12:23

DBGRID'de işlem yapma ve yapılan işlemlerin toplamnın bulma

Mesaj gönderen mtozluklar »

selam arkadaşlar benim ACCESS veritabanımı DBGRID1 de kullanılyorum. DBGRID'de A,B,C,D,E gibi fieldler yer alıyor. yapmak istediğim E fieldını yani E=A*B*C*D olarak adotable1.OnCalcFields yordamında hesaplatabiliyorum yanlız veri tabanımın E Field'ini aktaramıyorum. esas yapmak istediğim ise veri tabanımdaki E fieldini toplayarak değerini bir LABEL'de göstermek. Yardımlarınız için şimdiden teşekkür ederim.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bu iş için SQL kullanabilirsin. SQL in sum fonksiyonu var.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
mtozluklar
Üye
Mesajlar: 5
Kayıt: 30 Haz 2003 12:23

Mesaj gönderen mtozluklar »

E alanını zaten adotable1.OnCalcField'de hesaplatmak için E fıledinin FieldKind özelliği fkCalculated olduğu için veri tabanımda E diye bir alan bulunmuyor. Bu yüzden SQL kullanamıyorum. Yani yapmak istediğim DBGrid üzerinde giriş yaparken hem hesaplayıp hemde toplamıda gösterebileceğim bir program yapmak istiyorum. Ama yinede teşekkür ederim.
mtozluklar
Üye
Mesajlar: 5
Kayıt: 30 Haz 2003 12:23

Mesaj gönderen mtozluklar »

Mustafa Hocam SQL kullanamamamın sebebi...

adoquerry1.close;
adoquerry1.SQL.text:='select sum(A*B*C*D) FROM veritabanı';
adoquerry1.open;
label1.caption:=floattostr(adoquery1.field[0].AsFloat);

1- bu kodu hangi yordama yazacağımı bilemiyorum.
2- adotable kullanarak dbgrid içinde hem veri giriyorum hemde aynı anda hesaplatmaya öalışıyorum.
3- hem adotable kullanıyorum hemde adoquery kullandığım zaman ise dbgridde yeni bir kayıt eklediğim zaman toplamı değiştirmiyor.
4- Ayrıca A,B,C,D alanlarından herhangi biri 0 (sıfır) olabilmeli yani sizde bilirsiniz ki herhangi bir sayının 0 ile çarpımı 0 dır. bu yüzden 0 olan alanı hesaplarken dikkate almamalı ve bunun için SQL bilgim zayıf olduğundan dolayı SQL kullanamıyorum.

ayrıca bana göstermiş olduğunuz ilgi için çok teşekkür ederim. inanın bu problem için okumadığım delphi kitabı ve girmedik yerli yabancı siteler kalmadı. Asla hazırcı bir programcı değilim ve zaten amatör olarak uğraşıyorum. ama yüzüp yüzüp kuyruğuna geldiğin bir program için vazgeçmekte yemiyor. :lol:
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

table a bir adet calc field ekle oncalcfield olayındada ne hesaplayacaksan onu hesapla ve bu eklediğin fielda aktar. Girdiğin veri anında hesaplanarak o eklediğin alana aktarılacaktır.
Sevgiler..
windofmay
Üye
Mesajlar: 35
Kayıt: 19 Ağu 2003 06:42

Mesaj gönderen windofmay »

Eğer Datan çok büyük değilse Grid in arkasındaki Data üzerinde gezinip hesaplayabilirsin
Cevapla