İki Sorgudan Oluşan Sorgu Hatası

15/02/2016, 09:56

yenginoglu

Sayın hocalarım hayırlı haftalar,
ekteki çalışmamda srgGELIR sorgusu ile srgGIDER sorgusu tek çalıştırıldığında sorun yok fakat srgGELIR_GIDER sorgusunda değerler yanlış oluyor, ekstre almak istiyorum alamıyorum nerede hata yapıyorum.

Saygılarımla,

Ahmet Yenginoğlu
15/02/2016, 13:10

atoz112

Sayın yenginoglu,

Bahsettiğiniz talebinize yönelik olarak;aşağıdaki açıklamaların yapılması uygun görülmüştür.

Örneğiniz incelendiğinde görülmüştür ki;
srgGELIR_GIDER adlı sorgunun kaynak içeriğinde TBLCARI Sorgu, srgGIDER ve TBLCARIHAREKET Sorgu adlı nesnelerden oluşmaktadır.

srgGIDER adlı sorgunun kaynağı, TBLCARIHAREKET Sorgu adlı sorgu.(bu sorgu ile gider toplamlarını almak istemişsiniz.)

TBLCARIHAREKET Sorgu adlı sorgunun kaynağı, TBLCARIHAREKET adlı tablo.(bu sorgu ile de yine gider toplamlarını almak istemişsiniz.)

TBLCARI Sorgu adlı sorgunun kaynağı, TBLCARI adlı tablo.(bu sorgu ile DAIRENO ve ADISOYADI değerlerini almak istemişsiniz.)

srgGELIR_GIDER adlı sorgunuzu bu hali ile değerlendirmek gerektiğinde;gider toplam değerlerini iki kez almış olmaktasınız.haliyle de,toplam sonuçlar birbiri ile aynı ve eşit sonuç vermektedir.

Oysa bu sorgu ile,gelir gider toplamlarını ve farkını yansıtmanız gerekmekteydi.böylece,dairelerin ödeme durumlarına göre toplam gelir ve gider dağılımlarını gösterme imkanınız olurdu.

Fakat,incelemelerde şu da fark edilmiştir ki,bazı daire sakinleri ödemelerde bulunmamış veya gelir ve gider yansıtmaları net sonuçları alınmamış.doğal olarak da,gelir gider ve farkı sonuçları alınmak istendiğinde bu işlemlerin sorunsuz uygulandığı daire sakinlerinin dışında kalan daireler için boş sonuçlar oluşacaktır.ya da,az sayıda bu gelir gider sonuçları elde edilecektir.

EK’te yer alan örnek uygulamada gelirgiderfark adlı sorguyu inceleyiniz.

Son olarak,eklediğiniz uygulama içeriğinde gerçek bilgiler de olduğu gerekçesi ile konunuzdan çıkartılmıştır.lütfen,içeriğinde farazi gerçek bilgiler ve geçerli verilerin tamamen silinmiş hali ile yeniden düzenleyip ekleyiniz.sonraki konularınızda da,bu hususa riayet etmeye önem vererek özen gösteriniz.

NOT
Eklenen düzenleme örneğinde,gerçek kişi bilgileri iptal edilmiştir.siz,sonrasında bu bilgileri yeniden dahil edebilirsiniz.

Bilginize…iyi çalışmalar,saygılar.
15/02/2016, 13:13

ozanakkaya

srgGELIR_GIDER isimli sorgunun Sql kodunu aşağıdaki ile değiştir.

SELECT [TBLCARI Sorgu].DAIRENO, [TBLCARI Sorgu].ADISOYADI, srgGELIR.DONEMI, srgGIDER.DONEMI, Sum(srgGELIR.TUTARI) AS GELEN, Sum(srgGIDER.TOPLAM) AS GİDEN

FROM ([TBLCARI Sorgu] INNER JOIN srgGELIR ON [TBLCARI Sorgu].DAIRENO = srgGELIR.DAIRENO) INNER JOIN srgGIDER ON (srgGELIR.DONEMI = srgGIDER.DONEMI) AND ([TBLCARI Sorgu].DAIRENO = srgGIDER.DAIRENO)
GROUP BY [TBLCARI Sorgu].DAIRENO, [TBLCARI Sorgu].ADISOYADI, srgGELIR.DONEMI, srgGIDER.DONEMI
ORDER BY [TBLCARI Sorgu].DAIRENO;


Ayrıca, yeni sorgu oluştur, Sql koduna 
SELECT TBLCARI.CARINO, TBLCARI.DAIRENO, TBLCARI.ADISOYADI, Nz(DLookUp("TUTARI","srgGELIR","[DONEMI]= " & "'" & [DONEM GİRİNİZ] & "' And [DAIRENO]= '" & [DAIRENO] & "'"),0) AS GELIR, Nz(DLookUp("TOPLAM","srgGIDER","[DONEMI]= " & "'" & [DONEM GİRİNİZ] & "' And [DAIRENO]= '" & [DAIRENO] & "'"),0) AS GIDER

FROM TBLCARI
GROUP BY TBLCARI.CARINO, TBLCARI.DAIRENO, TBLCARI.ADISOYADI, Nz(DLookUp("TUTARI","srgGELIR","[DONEMI]= " & "'" & [DONEM GİRİNİZ] & "' And [DAIRENO]= '" & [DAIRENO] & "'"),0), Nz(DLookUp("TOPLAM","srgGIDER","[DONEMI]= " & "'" & [DONEM GİRİNİZ] & "' And [DAIRENO]= '" & [DAIRENO] & "'"),0);


yaz, srgGELIR_GIDER2 adıyla kaydet

hangisini istersen onu kullan
15/02/2016, 13:49

yenginoglu

Hocalarım sorun sayenizde çözülmüştür. Çok teşekkür ederim.

Sağlıkla Kalın,