DBGRID'de işlem yapma ve yapılan işlemlerin toplamnın bulma
-
- Üye
- Mesajlar: 5
- Kayıt: 30 Haz 2003 12:23
DBGRID'de işlem yapma ve yapılan işlemlerin toplamnın bulma
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.
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.
-
- Üye
- Mesajlar: 5
- Kayıt: 30 Haz 2003 12:23
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.
-
- Üye
- Mesajlar: 5
- Kayıt: 30 Haz 2003 12:23
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.
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.
