73
ห้อง MS Access / > การ SUM Unbound Textbox บนForm Footer
« เมื่อ: 20 เม.ย. 61 , 13:45:35 »
#Errorเหมือนเดิมเลยค่ะ
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
คุณไปลองทดสอบดูผลลัพธ์นะครับว่าถูกต้องหรือไม่
ที่ตำแหน่งสีแดง เราเปลี่ยนแหล่งข้อมูลจากเทเบิล T ธรรมดาๆที่เรียกในชื่อ T1 มาเป็น T ที่เพิ่มฟิลด์วันที่น้อยที่สุดของสินค้าตัวเดียวกันโดยเรียกชื่อว่า MinD และเรียกรวมทั้งหมดเป็น T1 เหมือนเดิม
ส่วนการจัดเรียงในตำแหน่งสีฟ้า ก็แทรก MinD เข้าเป็นฟิลด์แรกสุดของ Ordered By ของเดิมครับ
SELECT T1.BFQty
+(select nz(sum(T2.InQty),0) from T as T2 where T2.ItemCD = T1.ItemCD and T2.D <= T1.D)
-(select nz(sum(T2.OutQty),0) from T as T2 where T2.ItemCD = T1.ItemCD and T2.D < T1.D) AS TotalQty, *
FROM (SELECT T2.*, (SELECT MIN(T3.D) FROM T AS T3 WHERE T3.ItemCD = T2.ItemCD) as MinD FROM T AS T2) AS T1
ORDER BY T1.MinD, T1.ItemCD, T1.D;
ฟิลด์ Date ใน StockMonthly_query อย่าไปกำหนดรูปแบบนะครับ มันต้องการ Data Type เป็น DATE ถ้าไปกำหนดรูปแบบแล้ว มันมีความเป็นไปได้ที่จะมี Data Type เป็น TEXT จะทำให้การเรียงข้อมูลทำตามแบบ TEXT แทน
ส่วนถ้าต้องการแสดงเป็น วัน-เดือน ค่อยมาสร้างฟิลด์ ที่ไปกำหนดรูปแบบใน SQL เพิ่มเติม เป็น Select ...+...-..., Format$(T1.DATE, " dd-mmm") As FormatD., * From ...
ทำตามแล้วค่ะ แต่เหมือนเรียงวันที่ แต่ไม่ได้เรียงเดือนเลยค่ะ รูปแบบวันที่ตอนimportเข้ามาเป็น 02/02/2018
แต่มาทำFormatเป็น 02/Feb/2018 ข้อมูลได้แบบนี้ค่ะ
SQL
SELECT T1.[Stock Before]+(select nz(sum(T2.Received),0) from StockMonthly_Query as T2
where T2.ItemID = T1.ItemID and T2.Date <= T1.Date)-(select nz(sum(T2.Shipment),0) from StockMonthly_Query as T2 where T2.ItemID = T1.ItemID and T2.Date < T1.Date) AS TotalAmount, *
FROM (SELECT T2.*, (SELECT MIN(T3.Date) FROM StockMonthly_Query AS T3 WHERE T3.ItemID = T2.ItemID) as MinD FROM StockMonthly_Query AS T2) As T1
ORDER BY T1.MinD, T1.ItemID, T1.Date;