dbgrid hesap

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

dbgrid hesap

Mesaj gönderen brs »

iyi akşamlar dbgrid bir kolondaki sayı toplamını alıyorum doğru sonucu almam için mutlaka dbgrid son satırı seçmem lazım bu durumu nasıl düzeltirim

procedure TForm19.Button4Click(Sender: TObject);
var i,j:integer;
sum:Real;
begin
sum:=0;
for i:=0 to Query1.RecordCount do begin
for j:=0 to DBGrid1.SelectedRows.Count-1 do
begin
if (i=DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[j])) then
sum:=sum+Query1.FieldByName('sayi').AsFloat;
end;
Query1.Next;
end;
Label1.Caption:=FloatToStr(sum);
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: dbgrid hesap

Mesaj gönderen xozcanx »

son olarak tabloyu Reflesh yaptırmayı deneseniz,,
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: dbgrid hesap

Mesaj gönderen brs »

xozcanx yazdı:son olarak tabloyu Reflesh yaptırmayı deneseniz,,
Denedim olmadı.
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid hesap

Mesaj gönderen yusuf simsek »

hem query hem dbgrid ile uğraşmak yerine , dbgride SAYI alanını ekleyip sadece dbgrid üzerinden saymak daha sağlıklı sonuç verecektir...

for i := 0 to DBGrid1.SelectedRecordCount -1 do
begin
sum:=sum+DBGrid1.SelectedRows.Values[ DBGrid1SEC.Index ];
end;
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: dbgrid hesap

Mesaj gönderen esistem »

Kod: Tümünü seç

procedure TForm19.Button4Click(Sender: TObject);
var
sum:Real;
begin
sum:=0;
QUERY1.FIRST;
WHILE NOT Query1.EOF DO BEGIN
sum:=sum+Query1.FieldByName('sayi').AsFloat;
QUERY1.NEXT;
END;
Label1.Caption:=FloatToStr(sum);
end;
Cevapla