sorguda fark bulma

1 2 3
27/12/2015, 10:52

access acemisi

Değerli Arkadaşlar
Ödemeler ve borç miktarları sorgusunda kişilerin yıllara göre ödemelerini görüyoruz.aidat tablosunda, Aidat2015 alanında aidat miktarı 100 TL dır.Sorguda,Kişilerin ödemesinde, 2015 yılı itibariyle, Veli 80 TL ödemiş.Diğerleri hiç ödemede bulunmamış.Bu farkı bulmak istiyorum.Bu sorguya göre; Veli için, Kalan fark 20 TL.Diğerleri ise 100 TL görmek istiyorum.
Resimli anlatım  ve dosya ektedir.
Teşekkürler

28/12/2015, 11:33

serdar_20

Merhabalar:
Sorgunuzu aşağıdaki gibi yapınız.
Kod:
TRANSFORM Sum(gelirler.miktar) AS Toplamiktar
SELECT gelirler.adisoyadi, gelirler.gelir.id_uyeno, aidat.Aidat2015, [Aidat2015]-Nz(DSum("miktar","gelir","id_uyeno=" & [gelir].[id_uyeno] & " And year(tarih)>= '2015' "),0) AS Fark, Sum(gelirler.miktar) AS [Toplam Ödenen Miktar]
FROM (katuyeporfil INNER JOIN uye ON katuyeporfil.id_kategoriuyeprofil = uye.profil) INNER JOIN ((gelirler INNER JOIN gelir ON gelirler.id_gelirno = gelir.id_gelirno) INNER JOIN aidat ON gelir.id_uyeno = aidat.id_uyeno) ON (uye.id_uyeno = gelir.id_uyeno) AND (uye.id_uyeno = aidat.id_uyeno)
WHERE (((katuyeporfil.kategoriuyeprofil)="üye")) OR (((gelirler.profil)=1) AND ((uye.profil)=1))
GROUP BY gelirler.adisoyadi, gelirler.gelir.id_uyeno, aidat.Aidat2015, [Aidat2015]-Nz(DSum("miktar","gelir","id_uyeno=" & [gelir].[id_uyeno] & " And year(tarih)>= '2015' "),0)
PIVOT gelirler.SENELER;
28/12/2015, 14:19

access acemisi

Sn serdar_20
İstediğim gibi olmuş.Yalnız benim dosyada sorgu çalışırken zaman alıyor.Yani hemen tıklayınca gelmiyor.Nedenini anlayamadım.
İlginize teşekkür ederim.
28/12/2015, 14:38

access acemisi

Değerli Arkadaşlar
FARK alanına >100 yada <100 ölçütü koyduğumda çalışmıyor nedeni ne olabilir.? Saygılar
28/12/2015, 15:21

serdar_20

Merhabalar;
Ekteki dosyayı inceleyiniz.
28/12/2015, 19:02

atoz112

Sayın Access acemisi,

Sayın serdar_20 bey’in hoşgörüsüne ve iznine sığınaraktan,harici başka sorgular eklemeye gerek kalmadan da,

(bu arada,sayın serdar_20 bey’e yapıcı katkılarından ve katılımlarından dolayı da teşekkürler)

bahsettiğiniz talebinize yönelik olarak,
ilgili ödemeler ve borç miktarları adlı sorgunun Sql ifadesini aşağıdaki kod ile değiştirmek sureti ile de bu sonucu elde edebilirsiniz.

Kod:
TRANSFORM Sum(gelirler.miktar) AS Toplamiktar
SELECT gelirler.adisoyadi, gelirler.gelir.id_uyeno, aidat.Aidat2015, [Aidat2015]-Nz(DSum("miktar","gelir","id_uyeno=" & [gelir].[id_uyeno] & " And year(tarih)>= '2015' "),0) AS Fark, Sum(gelirler.miktar) AS [Toplam Ödenen Miktar]
FROM (katuyeporfil INNER JOIN uye ON katuyeporfil.id_kategoriuyeprofil = uye.profil) INNER JOIN ((gelirler INNER JOIN gelir ON gelirler.id_gelirno = gelir.id_gelirno) INNER JOIN aidat ON gelir.id_uyeno = aidat.id_uyeno) ON (uye.id_uyeno = gelir.id_uyeno) AND (uye.id_uyeno = aidat.id_uyeno)
WHERE ((([Aidat2015]-Nz(DSum("miktar","gelir","id_uyeno=" & [gelir].[id_uyeno] & " And year(tarih)>= '2015' "),0))>=100) AND ((katuyeporfil.kategoriuyeprofil)="üye") AND ((gelirler.profil)=1) AND ((uye.profil)=1))
GROUP BY gelirler.adisoyadi, gelirler.gelir.id_uyeno, aidat.Aidat2015, [Aidat2015]-Nz(DSum("miktar","gelir","id_uyeno=" & [gelir].[id_uyeno] & " And year(tarih)>= '2015' "),0)
PIVOT gelirler.SENELER;

Bilginize…iyi çalışmalar,saygılar.
1 2 3