AccessTr.neT
Belirli bir müşterinin ay ve yıla göre devirli bakiyesini bulma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Belirli bir müşterinin ay ve yıla göre devirli bakiyesini bulma (/konu-belirli-bir-musterinin-ay-ve-yila-gore-devirli-bakiyesini-bulma.html)

Sayfalar: 1 2


Cvp: Belirli bir müşterinin ay ve yıla göre devirli bakiyesini bulma - g.saray1905 - 20/12/2009

Konum biraz ilgi çeksin. Kalmış kuytu köşelerde. Img-grin
Konuya giren arkadaşın yukarıdaki mesajımı incelemesini ve yardım etmesini rica ediyorum.


Cvp: Belirli bir müşterinin ay ve yıla göre devirli bakiyesini bulma - Seruz - 21/12/2009

Tek sorgu ile de yapılabilirdi ancak 2 sorgu ile yapmak daha basit ve sanırım daha hızlı.
Ne kadar basit o kadar iyi.

AylikBakiye adlı sorgu istediğiniz sonucu veriyor.

AylikBakiye_AyYil:
Kod:
SELECT TRANSACTIONS.account_id, Month(transaction_date) AS balance_month, Year(transaction_date) AS balance_year
FROM TRANSACTIONS
GROUP BY TRANSACTIONS.account_id, Month(transaction_date), Year(transaction_date);

AylikBakiye:
Kod:
SELECT AylikBakiye_AyYil.account_id, AylikBakiye_AyYil.balance_year, AylikBakiye_AyYil.balance_month, DSum("[transaction_amount]","TRANSACTIONS","[account_id]=" & [account_id] & " And (Year([transaction_date])<" & [balance_year] & " Or (Year([transaction_date])=" & [balance_year] & " And Month([transaction_date])<=" & [balance_month] & "))") AS monthly_balance
FROM AylikBakiye_AyYil
ORDER BY AylikBakiye_AyYil.account_id, AylikBakiye_AyYil.balance_year, AylikBakiye_AyYil.balance_month;




Cvp: Belirli bir müşterinin ay ve yıla göre devirli bakiyesini bulma - g.saray1905 - 21/12/2009

(21/12/2009, 13:54)Seruz yazdı: Tek sorgu ile de yapılabilirdi ancak 2 sorgu ile yapmak daha basit ve sanırım daha hızlı.
Ne kadar basit o kadar iyi.

AylikBakiye adlı sorgu istediğiniz sonucu veriyor.

AylikBakiye_AyYil:
Kod:
SELECT TRANSACTIONS.account_id, Month(transaction_date) AS balance_month, Year(transaction_date) AS balance_year
FROM TRANSACTIONS
GROUP BY TRANSACTIONS.account_id, Month(transaction_date), Year(transaction_date);

AylikBakiye:
Kod:
SELECT AylikBakiye_AyYil.account_id, AylikBakiye_AyYil.balance_year, AylikBakiye_AyYil.balance_month, DSum("[transaction_amount]","TRANSACTIONS","[account_id]=" & [account_id] & " And (Year([transaction_date])<" & [balance_year] & " Or (Year([transaction_date])=" & [balance_year] & " And Month([transaction_date])<=" & [balance_month] & "))") AS monthly_balance
FROM AylikBakiye_AyYil
ORDER BY AylikBakiye_AyYil.account_id, AylikBakiye_AyYil.balance_year, AylikBakiye_AyYil.balance_month;


İlginiz ve yardımınız için teşekkürler. Sorum cevaplanmıştır.