(29/12/2024, 19:21)atoykan yazdı: Çalışmıyorsunuz ya da yeteri kadar dikkat etmiyorsunuz Sayın @truhi.
DSUM işlemi ne yapıyor tbl_Mixer tablonuzda tbl_orders tablonuzdaki SozlesmeNo'ya göre toplam alıyor.
Bunu nasıl sorguya çeviririz birincisi bir toplam alacağımız için SUM değerine ihtiyacımız var, nereden alacağımız belli, kriter belli O zaman sadece sorguyu yazmak kalıyor
SELECT SUM(Miktar_1) FROM tbl_Mixer WHERE WHERE tbl_Mixer.Sozlesme_1 = tbl_Orders.SozlesmeNo
Bu sorgu bize tbl_Orders tablosundaki SozlesmeNo alanına eşit olan tbl_Mixer tablosundaki Miktar_1 toplamını verir. bunu Dsum yerine kullanabilirsiniz.
DSUm sorgumuzda nasıl kullanılmış
DSum("[Miktar_1]","tbl_Mixer","[Sozlesme_1] = '" & [SozlesmeNo] & "'") AS Miktar1 yani toplamı Miktar1 adı ile göstermiş, Dsum yerine sorgyu hazırlayabildiysek yer değiştirebiliriz. O halde
(SELECT SUM(Miktar_1) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_1 = tbl_Orders.SozlesmeNo) AS Miktar1 Dsum 'dan farklı olmayacaktır. Buradan hareketle diğer Dsum lar için aynı işlemi yaparsanız sorgunuzun yeni hali
olur. Biraz daha dikkat, biraz daha gayret lütfen. Bunları artık gözü kapalı çözmeniz gerek.SELECT DISTINCT
tbl_Orders.SozlesmeNo,
(SELECT SUM(Miktar_1) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_1 = tbl_Orders.SozlesmeNo) AS Miktar1,
(SELECT SUM(Miktar_2) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_2 = tbl_Orders.SozlesmeNo) AS Miktar2,
(SELECT SUM(Miktar_3) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_3 = tbl_Orders.SozlesmeNo) AS Miktar3,
(SELECT SUM(Miktar_4) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_4 = tbl_Orders.SozlesmeNo) AS Miktar4,
(SELECT SUM(Miktar_5) FROM tbl_Mixer WHERE tbl_Mixer.Sozlesme_5 = tbl_Orders.SozlesmeNo) AS Miktar5
FROM
tbl_Orders;
Haklısınız Hocam,
inşallah sayenizde daha iyi olacağım.
Çok teşekkür ederim.