SELECT k.ID,k.MusteriKod,k.MusteriAdi,k.Telefon,k.Giris,k.Cikis,k.Bakiye,
Nz((SELECT SUM(s.Tutar) FROM tbl_Sales AS s WHERE s.MusteriKod = k.MusteriKod),0) AS ToplaTutar,
Nz((SELECT SUM(c.Tutar) FROM tbl_CasheMoves AS c WHERE c.CariKod = k.MusteriKod),0) AS NakitTahsilat
FROM qry_BankCustom AS k;
yapmak istediğiniz sorgu. Şöyle açıklayayım:qry_BankCustom ana kaynağınız, AS k ile ona kısa bir isim vermek pratiklik için, alanlara erişmek için k.ilgili alan yazmak kaynak tablo adını uzun uzun yazmaktan daha kolaydır. Buna göre qry_BankCustom içindeki her müşteri için bir satır döner. NZ alt sorgusu kısmında ise tbl_Sales tablosundan k.MusteriKod ile eşleşen kayıtlar için Tutar toplamını (SUM) alıyoruz çünkü WHERE s.MusteriKod = k.MusteriKod ana kaynağın k.MusteriKod değerine bağımlı. Buna korelasyonlu alt sorgu denir. Mantık olarak x müşterisi için tbl_Salesdeki toplam satış tutarı nedir sorusunu cevaplar.
Şayet Excele export etmek gibi işlemler uygulayacaksanız bu durumda NZ alt sorgularını
IIf(IsNull((SELECT SUM(s.Tutar) FROM tbl_Sales AS s WHERE s.MusteriKod = k.MusteriKod)), 0, (SELECT SUM(s.Tutar) FROM tbl_Sales AS s WHERE s.MusteriKod = k.MusteriKod)) AS ToplaTutar,
IIf(IsNull((SELECT SUM(c.Tutar) FROM tbl_CasheMoves AS c WHERE c.CariKod = k.MusteriKod)), 0, (SELECT SUM(c.Tutar) FROM tbl_CasheMoves AS c WHERE c.CariKod = k.MusteriKod)) AS NakitTahsilat
IFF yapısına dönüştürmek gerekir.Sorgulara daha çok çalışmalısınız. Hala mantık hataları yapıyorsunuz, bu moralinizi bozmasın öğrenme aşamasında hata yapmak normaldir ve hata yapmak pratik olarak öğrenmenizi sağlar.