sum fonksiyonu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

sum fonksiyonu

Mesaj gönderen aydogan46 »

arkadaşlar merhabalar benim iki sorum olacak;
1) bir tablom var aidatdbf diye. burda sicilno ve aidat gibi alanım var. sicilno unique değil yani bir kişiye bir dönem içinde defalarca kayıt girilecek .siz bunu bir müşteriye değişik zamanlarda yapılan satışlar gibi algılayabilirsiniz yani mantık o demek istediğim. kayıtları giriyorum girerken sorun yok,ama sorgulatmada sorun oluyor. normalde inputboxla dışardan sicilnoyu girin dediğimde bana sonuç olarak ya o sicilnoya ait son kaydı yada ilk kaydı getiriyor. query ile sorgulama yapıyorum. ben istiyorum ki dbgridde o sicilnoya sahip tüm kayıtlar gözüksün.
2)bu sorumda sum fonksiyonu ile
bir vakıf var. ve bu vakfa uye kişiler her ay aidat ödemesi yapıyor.sicilno ve aidat alanları ile giriş yapılıyor. ben bunların sorgulatmaladada sorun yasıyorum
...query1.sql.add('select sum(aidat) from aidatdbf.dbf ') yazdıgımda sorun yok. çalışıyor ama sadece bir alanda herkesin ödediğinin toplamını veriyor.bana aşagıda yazdıgım kodun işlevini yapacak bir kod lazım. nasıl yani derseniz açıklayayım. inputboxla sicilnoyu giriyoruz ve o kayda ait ödenmiş tüm aidat miktarlarının toplamını verecek.

begin
n:=inputbox('ARA','KULLANICI Sicil GİRİNİZ','');
query1.close;
query1.sql.clear;
Query1.Sql.Add('Select sicilno,adi_soyadi, sum(aidat) as toplam From aidat Where sicilno like "'+uppercase(n)+'%" ');
query1.open;
end;
hata nerde acaba veya ben nerde yanlış yapıyorum.
şimdiye kadar yazdıgım en uzun soru ama buna gerçekten ihtiyacım var. ilgilenecek arkadaşlara şimdiden teşşekkür ederim. hepinize kolay gele(anlaşılsın diye uzun oldu ama ..)
Kullanıcı avatarı
mehmet_turecan_cakmak
Üye
Mesajlar: 132
Kayıt: 02 Tem 2003 01:08
Konum: Afyon
İletişim:

tablo

Mesaj gönderen mehmet_turecan_cakmak »

selam...

hocam galiba sen müşterilerin tablosunu ayrı ödeme tablosunu ayrı yaptın sorun bu galiba aratmayı sen müşterilerin kayıtlı olduğu tabloda yapıyorsun ve sadece müşteriyi bulup ödemeleri bulamıyorsun eger bu şekilde yaptıysan sicil noyu aynı anda iki tablodada yaptırman lazım...

iyi çalışmalar...
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

1. Query ile sorgularken Query'nin SQL'ine

Kod: Tümünü seç

select * from aidatdbf where sicilno=5
yazdiginizda o sizilno'ya iat butun kayitlari cekmis olursunuz.

2. Select 'in icinde sadece sum(aidat) olsun. Baska alanlar ekldiginizde o diger alanlara gore group by yapmaniz gerekir ki o zaman da sizin istediginizden farkli kayitlar da gelebilir (farkli adi_soyadi olanlar gibi)

Kolay gelsin....
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

hocam o zaman sicilnosu 5 olan kaydı listelemez mi? ben mesela sicilnosu 123 olan 6 tane kayıt girdiğimi farzedersek listelemede dbgrid içinde bu 6 kaydıda listelemek istorum. diger bahsettiklerinizi yaptım hemde istediğim gibi oldu group by ile. teşekkürler her şey için
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

sicilnosu 5 olan altı tane kayıt varsa altısı da gelir.

Kolay gelsin.
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

hocam bende oyle biliyorum ama gelmiyor işte. sabahtan beri deliriyorum. normal de gozukuyor bir butonun click ğine

..
query1.sql.add('select * from aidatdbf where sicilno "'+n+'" ') deyip yazdıgımda sadece ilk kaydı getiriyor girdiğim sicile ait olan. normalde
hiç bir butona basmadan querynin avtive özelliğini true yaptıgımda geliyor.işin aksi yönü sum fonksiyonunu kullandığımda toplam alanıda veriyor. acaba diyorum db gridde bi sorun var.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam problem büyük ihtimalle buttonClick'te o zaman. En son Query'i açmadan önce

ShowMessage(Query1.SQL.Text);

komutunu verirsen sana oluşan SQL cümlesini verir. Nerde yanlış varsa düzeltirsin orayı.

Kolay gelsin.
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

önerileriniz için Allah Razı olsun hocam.
Cevapla