กระทู้เก่าบอร์ด อ.Yeadram
2,417 3
URL.หัวข้อ /
URL
ฝาก ถอนเงิน อยากหายอดเงินคงเหลือ
มีตารางฝากเงิน
ตารางชื่อเด็ก
ตารางถอนเงิน ทดลองทำคิวรี่แล้วยังไม่ได้ครับ แต่ปรับจากตรงนี้มาปรับใช้แล้วไม่ผ่าน
ต้นฉบับ
SELECT [title] & [fname] & " " & [lname] AS [ชื่อ-สกุล], incoming.custID, incoming.SumOfamount AS ฝาก, CDbl(Nz([outgoing.SumOfamount],0)) AS ถอน, incoming.sumofamount-CDbl(Nz(outgoing.sumofamount,0)) AS คงเหลือ, tblCustomers.fname
FROM (outgoing RIGHT JOIN incoming ON outgoing.custID = incoming.custID) INNER JOIN tblCustomers ON incoming.custID = tblCustomers.custID
ORDER BY tblCustomers.fname;
*****************************************************************************
งาน
SELECT [11รายชื่อ].stid, [11ton].SumOfton AS ฝาก, [11Save].SumOfmoney AS ถอน
FROM (11รายชื่อ INNER JOIN 11ton ON [11รายชื่อ].stid = [11ton].stid) INNER JOIN 11Save ON [11รายชื่อ].stid = [11Save].stid;
ตารางชื่อเด็ก
ตารางถอนเงิน ทดลองทำคิวรี่แล้วยังไม่ได้ครับ แต่ปรับจากตรงนี้มาปรับใช้แล้วไม่ผ่าน
ต้นฉบับ
SELECT [title] & [fname] & " " & [lname] AS [ชื่อ-สกุล], incoming.custID, incoming.SumOfamount AS ฝาก, CDbl(Nz([outgoing.SumOfamount],0)) AS ถอน, incoming.sumofamount-CDbl(Nz(outgoing.sumofamount,0)) AS คงเหลือ, tblCustomers.fname
FROM (outgoing RIGHT JOIN incoming ON outgoing.custID = incoming.custID) INNER JOIN tblCustomers ON incoming.custID = tblCustomers.custID
ORDER BY tblCustomers.fname;
*****************************************************************************
งาน
SELECT [11รายชื่อ].stid, [11ton].SumOfton AS ฝาก, [11Save].SumOfmoney AS ถอน
FROM (11รายชื่อ INNER JOIN 11ton ON [11รายชื่อ].stid = [11ton].stid) INNER JOIN 11Save ON [11รายชื่อ].stid = [11Save].stid;
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05927
ขอบคุณครับ ทดลองแล้ว SELECT [เด็ก11].stid, [เด็ก11].fname, Sum(nz([11saving].[money],0)) AS ฝาก, nz([11ton].[ston],0) AS ถอน, nz([11saving].[money],0)-nz([11ton].[ston],0) AS คงเหลือ
FROM (เด็ก11 LEFT JOIN 11ton ON [เด็ก11].stid = [11ton].stid) LEFT JOIN 11Saving ON [เด็ก11].stid = [11Saving].stid
GROUP BY [เด็ก11].stid, [เด็ก11].fname, nz([11ton].[ston],0), nz([11saving].[money],0)-nz([11ton].[ston],0);
ยอดถอนมันกระด้าง
รหัสประจำตัว ชื่อ นามสกุล ฝาก ถอน คงเหลือ
********* **********
02009 เด็กชาย 10.5 5 5.5
02009 เด็กชาย 45.45 5 40.45
หากใครถอนก็ให้ลบยอดเงินคงเหลือสุทธิเลย
จะทดลองปรับตารางใหม่ครับ ให้ฝาก และ ถอนอยู่ในตารางเดียวกัน จะพยายามอีกครั้งครับแล้วจะกลับมาถามอีกรอบครับ
FROM (เด็ก11 LEFT JOIN 11ton ON [เด็ก11].stid = [11ton].stid) LEFT JOIN 11Saving ON [เด็ก11].stid = [11Saving].stid
GROUP BY [เด็ก11].stid, [เด็ก11].fname, nz([11ton].[ston],0), nz([11saving].[money],0)-nz([11ton].[ston],0);
ยอดถอนมันกระด้าง
รหัสประจำตัว ชื่อ นามสกุล ฝาก ถอน คงเหลือ
********* **********
02009 เด็กชาย 10.5 5 5.5
02009 เด็กชาย 45.45 5 40.45
หากใครถอนก็ให้ลบยอดเงินคงเหลือสุทธิเลย
จะทดลองปรับตารางใหม่ครับ ให้ฝาก และ ถอนอยู่ในตารางเดียวกัน จะพยายามอีกครั้งครับแล้วจะกลับมาถามอีกรอบครับ
3 @R06004
ผมมีโปรแกรมฝากถอนลองโหลดไปศึกษาดูครับ
โหลดตัวอย่างโปรแกรมและสอบถามปัญหาต่าง ๆของการใช้งาน ms access เพิ่มได้ที่
http://access.crtrading.net
โหลดตัวอย่างโปรแกรมและสอบถามปัญหาต่าง ๆของการใช้งาน ms access เพิ่มได้ที่
http://access.crtrading.net
Time: 0.3493s
แต่ในเมื่อข้อมูลมันมาอย่างนี้แล้วก็ต้องหาวิธีแก้กันต่อไป
-ออกแบบคิวรี่ในมุมมองออกแบบ ดึงตารางทั้งสาม มาวาง
-ลากเส้นความสัมพันธ์จากตารางนักเรียนไปหาตารางฝาก ใช้ฟิลด์รหัสนักเรียน กำหนดความสัมพันธ์แบบ Outer (ให้หัวลูกศรชี้ไปที่ตารางฝาก)
- ลากเส้นความสัมพันธ์อีกเส้น จากตารางนักเรียนไปตารางถอน ใช้ฟิลด์รหัสนักเรียน กำหนดความสัมพันธ์เหมือนกัน (ให้หัวลูกศรชี้ไปที่ตารางถอน)
- ลากฟิลด์ หรือสร้างฟิลด์ต่างๆ เพื่อให้แสดงผลดังนี้
1 ชื่อนักเรียนจากตาราง นักเรียน
2 สร้างฟิลด์ฝาก เขียนว่า ฝาก: nz(ตารางฝาก.ฟิลด์ฝาก,0)
3 สร้างฟิลด์ถอน เขียนว่า ถอน: nz(ตารางถอน.ฟิลด์ถอน,0)
4 สร้างฟิลด์คงเหลือเขีย??ว่า คงเหลือ: nz(ตารางฝาก.ฟิลด์ฝาก,0) - nz(ตารางถอน.ฟิลด์ถอน,0)
- บันทึกคิวรี่แล้วทดสอบแสดงผลครับ ถ้าได้ผลตามต้องการในเบื้องต้นแล้ว กลับไปมุมมองออกแบบอีกครั้งเพื่อปรับแต่งฟิลด์ ชื่อนักเรียนตามต้องการ (จะใส่นามสกุลมาด้วย หรือใส่รหัสมาด้วย ทีนี้ก็คงไม่ยากแล้วครับ)