quick report ve gruplandırarak toplam alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
quick report ve gruplandırarak toplam alma
s.a kolay gelsin;
arkadaşlar quick reportta tıkandım programımda kasadan şahıslara olan borç ve alacakları takip ettiğim bölüm var raporlamak istiyorum.Aynı şahısa ait birden fazla hareket olabiliyor.raporda tek kayıt halinde borç ve alacak toplamlarını sorununu aştım şimdi o şahsa ait bakiyeyi bulmakta..
veritabanı:
hesap_no----borc-------alacak
turgut--------200
mustafa ------------------150
mustafa -----100
turgut----------------------50
Rapor:
Hesap-----borç---alacak---bakiye
turgut-----200-----50----------?
mustafa---100----150---------?
araçlar: quickreport,paradox,delphi 7.0,query kullanıyorum
arkadaşlar quick reportta tıkandım programımda kasadan şahıslara olan borç ve alacakları takip ettiğim bölüm var raporlamak istiyorum.Aynı şahısa ait birden fazla hareket olabiliyor.raporda tek kayıt halinde borç ve alacak toplamlarını sorununu aştım şimdi o şahsa ait bakiyeyi bulmakta..
veritabanı:
hesap_no----borc-------alacak
turgut--------200
mustafa ------------------150
mustafa -----100
turgut----------------------50
Rapor:
Hesap-----borç---alacak---bakiye
turgut-----200-----50----------?
mustafa---100----150---------?
araçlar: quickreport,paradox,delphi 7.0,query kullanıyorum
Bu işi yapısına uygun şekilde Query nesnesi kullanarak yapabilirsin. Hesap adını muhtemelen başka bir master tablodan alıyorsundur. O zaman da join ile o tabloyu da bağlaman gerekiyor.
gibi..
Kod: Tümünü seç
select hesap_adi, sum(borc), sum(alacak)
from tablo
where şartlar
group by hesap_adi
Kod: Tümünü seç
select h.hesap_adi, sum(har.borc), sum(har.alacak)
from tablo har, hesap h
where har.hesap_id = h.hesap_id and şartlar ...
group by h.hesap_adi
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- Master_Yoda
- Üye
- Mesajlar: 35
- Kayıt: 13 Ara 2005 12:57
quickreport ta dbtext gibi bir qrexpr componenti var
bundan koyup expression bölümüne borc-alacak yazabilirsin.
ayrıca eğer bakiyen kümülatif bir bakiye olacaksa
örneğin :
Bu durumda en kestirmesi raporun beforeprint eventinde bakiye:=0;
detail bandın before print eventinde bakiye:=bakiye+(qxBorc.value-qxAlacak.Value);
detail banda qrlabel componenti koyup bu componentin onprint eventinde value:=format('#,##0.00',bakiye);
yazarak almak.
Paradox ve BDE LocalSQL yetenekleri ile bu işi çözmek zor olur .
bundan koyup expression bölümüne borc-alacak yazabilirsin.
ayrıca eğer bakiyen kümülatif bir bakiye olacaksa
örneğin :
Kod: Tümünü seç
ali 100 0 100
veli 50 0 150
ayse 0 10 140
detail bandın before print eventinde bakiye:=bakiye+(qxBorc.value-qxAlacak.Value);
detail banda qrlabel componenti koyup bu componentin onprint eventinde value:=format('#,##0.00',bakiye);
yazarak almak.
Paradox ve BDE LocalSQL yetenekleri ile bu işi çözmek zor olur .
rsimsek hocam teşekkür ederim gruplandırma ve toplam alma işleminde sorun yok(sizin önerdiğiniz gibi yapmıştım).Benim istediğim bakiyeyi hesaplatmak;
burda tecrübenize ihtiyacım var..
Kod: Tümünü seç
hesap_no borc alacak bakiye
mustafa 150 0 ?
turgut 100 75 ?
master-yoda bey qrexpr kullanıyorum burda borc ilgili sahsa ait borc toplamı giderde aynı,sizin dediğiniz gibi kullanamıyorum( borc-alacak ) hayır kümülatif bir bakiye istemiyorum sonunda toplam bakiye aldırıyorum zaten sadece;
eğer cevabınızı biraz açarsanız sevinirim.
Kod: Tümünü seç
bakiye
turgut 150 25 125
mustafa 200 50 150 burayı vermsei yeterli
- Master_Yoda
- Üye
- Mesajlar: 35
- Kayıt: 13 Ara 2005 12:57
Kod: Tümünü seç
select hesap_adi, sum(borc), sum(alacak)
from kasa
group by hesap_adi
Kod: Tümünü seç
query1.sum(borc)-query1.sum(alacak)
toplam bakiyeyide
Kod: Tümünü seç
(query1.sum(borc))-(query1.sum(alacak))
bu şekilde hesaplattım teşekkür ederim...
- Master_Yoda
- Üye
- Mesajlar: 35
- Kayıt: 13 Ara 2005 12:57
sanirim asil problem select içinde expression olan kolonlara isim vermemenden kaynaklanmis son yazdigin quick report expressionlari biraz tuhaf ..
selecti şöyle yazsan
ozaman selecten toplamborc ve toplamlacak adli iki saha gelir ve bu sahalari daha kolay expressionlarda kullanirsin..
selecti şöyle yazsan
Kod: Tümünü seç
select hesap, sum(borc) as toplamborc, sum(alacak) as toplamalacak
from kasa