Query de Toplam almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Query de Toplam almak

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde bir kodum var ve DBGrid1 e listeleme yapıyor ve Label4 de toplam aldırmak istiyorum bu şekilde yaptım ama olmadı yardım ederseniz çok sevinirim.

Kod: Tümünü seç

       if RadioButton4.Checked then
              If Edit1.Text='' Then
Begin
Query1.Active:=False;
ShowMessage('Lütfen Satış Durumu İçin Bir Kod Yazınız !!! ');
Edit1.Setfocus;
Exit;
end
else
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From SISTEMFOR');
Query1.Sql.Add('Where SISTAR Between :SERTAR7 AND :SERTAR8 AND SISSATOLD=:SISSATIS');
Query1.ParamByName('SISSATIS').AsString:=Edit1.Text;
Query1.ParamByName('SERTAR7').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SERTAR8').AsDate:=DateTimePicker2.Date;
       end;
Query1.Active:=true;
Label4.Caption:=IntToStr(Query1.RecordCount);
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Toplam mı alacaksınız kayıt sayısını mı?
Toplam için

Kod: Tümünü seç

select sum(toplamı_alıncak_alan_adı) as sonuc from tabblo_adı where şartlar
şeklinde bir query gerekir.

Kayıt sayısı için ise query'nin recordcount özelliğini kullanmak her zaman sağlıklı sonuç vermeyebiliyor. bunun için önceden query.fetchall kullanmak gerekiyor bunun yerine

Kod: Tümünü seç

select count(alan_adı) as kayıt_sayısı from tablo_adı where şartlar
gibi bir query kullanmanızı tavsiye ederim zira daha önce hep bu tavsiye edildi.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

kayıt sayısını DBGrid alanından alabilirmiyim?
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Sanmıyorum, bence en iyisi select count ile bir sql cümlesi yazmak.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

ozcank yazdı:kayıt sayısını DBGrid alanından alabilirmiyim?
showMessage(inttostr(DBGrid1.DataSource.DataSet.RecordCount));

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Dediğiniz kod u ekledim ve şunu gözlemledim; mesaj da kayıt sayısı ve Label4 e aktardığım kayıt sayısı aynı fakat mesaja ok dediğim zaman her ikiside sıfırlanıyor bunu nasıl cözerim aslında Label4 e aktardığım kayıt sayısı var fakat işlem listelendikten sonra orayı sıfırlıyor.

Kod: Tümünü seç

     if RadioButton4.Checked then 
              If Edit1.Text='' Then 
Begin 
Query1.Active:=False; 
ShowMessage('Lütfen Satış Durumu İçin Bir Kod Yazınız !!! '); 
Edit1.Setfocus; 
Exit; 
end 
else 
Begin 
Query1.Sql.Clear; 
Query1.Sql.Add('Select * From SISTEMFOR'); 
Query1.Sql.Add('Where SISTAR Between :SERTAR7 AND :SERTAR8 AND SISSATOLD=:SISSATIS'); 
Query1.ParamByName('SISSATIS').AsString:=Edit1.Text; 
Query1.ParamByName('SERTAR7').AsDate:=DateTimePicker1.date; 
Query1.ParamByName('SERTAR8').AsDate:=DateTimePicker2.Date; 
       end; 
Query1.Active:=true; 
Label4.Caption:=IntToStr(Query1.RecordCount);
showMessage(inttostr(DBGrid1.DataSource.DataSet.RecordCount));
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

aynı sistemi aşşağı yukarı bende kullanıyorum ve dediğiniz sorunu yaşamıyorum. farkımız sadece ben checkbox kullanıyorum ve checkbox.checked=false then kullanıyorum ve query.open, close kullanıyorum. farketmiyor sanırım da,

sizde dikkatimi çeken şu oldu sql satırlarını yazdıktan sonra

Kod: Tümünü seç

end;
ile bitirmişsiniz ve sonra

Kod: Tümünü seç

query.active:=true;
diyerek query yi açmışsınız. hata buradan olabilir mi ki?

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla