Suntadaki Eşit Alanları Toplamak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Suntadaki Eşit Alanları Toplamak

Mesaj gönderen erdogan_ozkaya »

Arkadaşlar,

Aşağıdaki tabloda Tarih, Alacak, Hesap_Kodu, Hesap_Fisi_Adi, Calisilan_firma_Kod var istediğim ( formda ise birtane datetimepicker var ) seçtiğim tarihe uygun kayıtları bulacak ve Tarih=Hesap_Kodu=Calisilan_firma_Kod --> ( Kasa Hesabı Toplam Alacak, USD Kasa Toplam Alacak ve daha ne varsa onlarıda verecek ) Tutarını çıkartmasını istiyorum nasıl yapabilirim acaba örnek kod verirseniz sevinirim iyi çalışmalar.
Örnek:
Resim
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen mkysoft »

Sorunuzu daha açık sorsanız cevap alabilirsiniz. Benim anladığım group by ile istediğinizi yapabilirsiniz. group by kod,hesap,tarih
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen erdogan_ozkaya »

Merhaba,

Daha açık nasıl olabilir ki :) aynı tarih ve koda sahip alacakları toplasın bir yere yazsın

Kolay gelsin
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen sabanakman »

Aslında soruyu görür görmez aklıma ilk gelen "anlamadım!" yazan bir mesaj eklemek oldu ama kimse cevap yazmadığından es geçtim :wink: . Sayın, mkysoft arkadaşımız da anlaşılmaz olduğunu belirtmese muhtemelen boşlukta kalacak bir soru olurdu bu. Anlatım çok net değil. Buğulu ve kafa karıştırıcı noktaları var. Mesela kayıtlarım bu, istediğim liste şu diyerek hiç açıklama yapmadan daha net bir anlatım yapılabilir.

Cevaba gelince sadece seçilen tarihe göre olacaksa verilen sorgudaki where şartını kullanın, tarihlere göre toplam olacaksa bu şartı kaldırın.

Kod: Tümünü seç

select Tarih, Hesap_Kodu, Calisilan_firma_Kod, sum(Alacak), sum(USD_Alacak), sum(ve daha ne varsa)
where Tarih='21.10.2011'
group by Tarih, Hesap_Kodu, Calisilan_firma_Kod
Eğer where şartını "where Tarih=:Tar" şeklinde verirseniz, Query nesnesinin Parameters özelliği ile buraya istediğiniz tarih değerini vererek sorgu çalıştırabilirsiniz (xxxQuery.Parameters[0].Value:=DateTimePicker1.Date;)
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen erdogan_ozkaya »

Kardeş cevabın için çok teşekkür ederim, sanırım haklısın sorumu biraz daha açıklayıcı sormam gerekirdi :)

access ile adoquery kullanıyorum.

(Hesap_Fisi_Adi) Ne olacağı belli olmuyor yani kullanıcı kendi farklı isimlerle, kod ekleyebilir.

Kod: Tümünü seç

select Tarih, Hesap_Kodu, Calisilan_firma_Kod, sum(Alacak), sum(USD_Alacak), sum(ve daha ne varsa)
where Tarih='21.10.2011'
group by Tarih, Hesap_Kodu, Calisilan_firma_Kod
farklılık olacağı için kod bir işe yaramayacaktır benim istediğim tablodaki aynı isimde olan kayıtları toplasın bir yere aktarsın :):)
umarım anlatabilmişimdir.

Teşekkürler.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen erdogan_ozkaya »

arkadaşlar cevap verebilecek yok mu acaba?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Suntadaki Eşit Alanları Toplamak

Mesaj gönderen sabanakman »

erdogan_ozkaya yazdı:..aynı tarih ve koda sahip alacakları toplasın...
erdogan_ozkaya yazdı:...(Hesap_Fisi_Adi) Ne olacağı belli olmuyor yani kullanıcı kendi farklı isimlerle, kod ekleyebilir.

Kod: Tümünü seç

select Tarih, Hesap_Kodu, Calisilan_firma_Kod, sum(Alacak), sum(USD_Alacak), sum(ve daha ne varsa)
where Tarih='21.10.2011'
group by Tarih, Hesap_Kodu, Calisilan_firma_Kod
farklılık olacağı için kod bir işe yaramayacaktır benim istediğim tablodaki aynı isimde olan kayıtları toplasın bir yere aktarsın :):)...
Soru problemli olunca elde edebileceğiniz en fazla bu kadar olur. Ayrıca group by sorgulamaya şöyle bir 10-15 dk. ayırıp çalışma yapmış olsaydınız sorunu dilediğiniz sonucu elde ederek aşa bilirdiniz. Toplam değerini elde etmek istediğiniz alan adlarını gruplayarak toplam almanız gerekmektedir. Mutlaka bir başkasının cevap yazmasına gerek yok.

Kod: Tümünü seç

select Tarih, Hesap_Kodu, Calisilan_firma_Kod, Hesap_Fisi_Adi, sum(Alacak), sum(USD_Alacak), sum(ve daha ne varsa)
where Tarih='21.10.2011'
group by Tarih, Hesap_Kodu, Calisilan_firma_Kod, Hesap_Fisi_Adi
Eğer bu sorgu da istediğiniz sonucu vermezse yukarıda belirttiğim gibi kısa süreli bir çalışmayla sorunu rahatlıkla aşabilirsiniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla