Detay tabloda Sum fonksiyonu

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
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Detay tabloda Sum fonksiyonu

Mesaj gönderen haydarxxx »

Arkadalr forumda aradım ama istediğim sum örneğini kendime göre çıkaramadım.IBX bileşenleri ile hazırladığım master ve detay tablom var ve bu bağlantılarım IBdataset ile.Master tablomda bir kişiye tıkladığımda onla ilgili girilmiş olan detaybilgileri geliyor.Ben bu datay bu o tıklanan kişiye ait detay bilisinin içindeki HF_SAAT alanını toplatarak bir edit içine almak istiyorum

with IBQuery2 do
begin
IBQuery2.Close;
IBQuery2.SQL.Clear;
IBQuery2.SQL.Add('select sum(HF_SAAT) from TBL_DERSLER');
IBQuery2.Open;
Edit1.Text:= FloatToStr(IBQuery2.FieldByName('SUM').AsFloat);

kodu bana tüm detay tablosundaki HF_SAAT alanlarını topluyor.Ben master tablomda aktif olan kaydın detay bilgisini toplasını istiyorum.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

where şartını kullanarak ayırman gerekmekte,

Kod: Tümünü seç

with IBQuery2 do 
begin 
IBQuery2.Close; 
IBQuery2.SQL.Clear; 
IBQuery2.SQL.Add('select sum(HF_SAAT) from TBL_DERSLER');
ibquery2.sql.add('where ALANIN=:alan');
ibquery2.parambyname('alan').value:=//şartı alacağı yer edit veya master tablonun ilgili key alanı
IBQuery2.Open; 
Edit1.Text:= FloatToStr(IBQuery2.FieldByName('SUM').AsFloat);

 

Kod: Tümünü seç

ibquery2.sql.add('where ALANIN=:alan');
ibquery2.parambyname('alan').value:=//şartı alacağı yer edit veya master tablonun ilgili key alanı
bu şekil gibi şart kullanarak sınırlandırman gerekmekte

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
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Sanırım şöyle bir şey isteniyor. Parametreye gerek yok zaten detay tablo :wink:

Kod: Tümünü seç

with IBQuery2 do
begin
IBQuery2.Close;
IBQuery2.SQL.Clear;
IBQuery2.SQL.Add('select sum(HF_SAAT) as TOPLAM_SAAT from TBL_DERSLER');
IBQuery2.Open;
Edit1.Text := FloatToStr(IBQuery2.FieldByName('TOPLAM_SAAT').AsFloat);
zaten arkadaş epey yaklaşmıştı :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

pardon abi tekrar okuyunca yüzüm kızardı utandım :oops:

arkadaşın "tüm" kelimesine takılıp yanıldım sanırım :cry:

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
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Takılma hocam bazen dalgınlık hepimize oluyor :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

Sy rsimsek
dediğiniz şekilde kodu düzenledim ama detay tablomdaki tüm alanları topluyor.Tüm tablonun toplamı 9 ama benim aktif kaydımın detayının toplamı 7 :? Eğer arzu ederseniz tüm tablo ve alanlarımı açıklayabilirim.şimdiden teşekkür ediyorum
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Master tablo ile Detay tabloyu nasıl bağlıyorsunuz bilemiyorum :?: Select in where kısmında @bobasturk hocamın dediği gibi bir ilişki koyarsanız yani sadece master tablodaki kayıta karşılık olan detayları getir diye o zaman sorun kalmaz :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

rsımsek
Select in where koşuluna göre yaptım teşşekür ediyorum
Cevapla