DBGrid Sütun Toplama işlemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bestofhoke
Üye
Mesajlar: 30
Kayıt: 14 Mar 2017 04:01

DBGrid Sütun Toplama işlemi

Mesaj gönderen bestofhoke »

Arkadaşlar forumda aradım ancak tam olarak bana lazım olan kısmı bulamadım..
Paradox7 veritabanı kullanıyorum dbgrid de listeleme yapıyorum ancak dbgrid deki 3.sütunda ki değerleri toplayıp anlık olarak edit'e aktarmak istiyorum aynı zamanda dbgrid'e yeni kayıt eklenince de editde ki değer de güncellenmesi gerek ancak bir türlü yapamadım yardımcı olabilir misiniz forumda daha çok sql üzeriden örnekler verilmiş.
ÖRNEK;
3.sütun

1.satır 100
2.satır 200
3.satır 150
4.satır 250
topla
edit-----700... şeklinde olması için ne yapmam lazım?
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: DBGrid Sütun Toplama işlemi

Mesaj gönderen ertank »

Merhaba,

Öncelikle Paradox7 veri tabanı yerine daha modern ilişkisel SQL tabanlı ücretsiz bir veri tabanı tercih etmenizde fayda var. Paradox7 veri tabanı 10 yılı aşkın bir süredir desteklenmiyor. Kullanabileceğiniz ücretsiz database sistemleri:
- PostgreSQL tamamen ücretsiz
- FirebirdSQL tamamen ücretsiz
- SQLite tamamen ücretsiz
- SQL Server Express (Fiziki tek işlemci, 2 çekirdek, 1GM RAM, 10GB database boyutu ile sınırlı)
- DB2 Express (Tek işlemci ve 1GB RAM kullanımı ile sınırlı. Database boyutu sınırsız)
- Oracle Express (10gb database boyutuna kadar ücretsiz, ram ve işlemci sınırlamaları var)

Sorunuza gelince, TQuery bileşeni kullanarak BDE'nin sınırlı SQL özelliklerinden faydalanabilirsiniz. Aşağıdaki gibi bir kod yazmanız mümkün olabilir.

Kod: Tümünü seç

Query1.Close();  // Her ihtimale karşı
Query1.SQL.Text := 'select sum(<toplanacak alan adı>) from <ilgili tablo adı>'; // Normalde bu ifadeyi dizayn zamanında bileşen içine kaydedip kod yazmadan sadece Query1.Open() ve Query1.Close() kullanarak yapabilirsiniz.
Query1.Open();
Edit1.Text := FormatFloat('#,##0.0000', Query1.Fields[0].AsFloat);
Query1.Close();
NOT: yukarıda <> işaretleri ile belirtilen bölümlere sizin doğru database alan adı ve tablo adını yazmanız gerekir.
Cevapla