กระทู้เก่าบอร์ด อ.Yeadram
        
           2,579   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.0740s
    
      
		
แต่ในเมื่อข้อมูลมันมาอย่างนี้แล้วก็ต้องหาวิธีแก้กันต่อไป
-ออกแบบคิวรี่ในมุมมองออกแบบ ดึงตารางทั้งสาม มาวาง
-ลากเส้นความสัมพันธ์จากตารางนักเรียนไปหาตารางฝาก ใช้ฟิลด์รหัสนักเรียน กำหนดความสัมพันธ์แบบ Outer (ให้หัวลูกศรชี้ไปที่ตารางฝาก)
- ลากเส้นความสัมพันธ์อีกเส้น จากตารางนักเรียนไปตารางถอน ใช้ฟิลด์รหัสนักเรียน กำหนดความสัมพันธ์เหมือนกัน (ให้หัวลูกศรชี้ไปที่ตารางถอน)
- ลากฟิลด์ หรือสร้างฟิลด์ต่างๆ เพื่อให้แสดงผลดังนี้
1 ชื่อนักเรียนจากตาราง นักเรียน
2 สร้างฟิลด์ฝาก เขียนว่า ฝาก: nz(ตารางฝาก.ฟิลด์ฝาก,0)
3 สร้างฟิลด์ถอน เขียนว่า ถอน: nz(ตารางถอน.ฟิลด์ถอน,0)
4 สร้างฟิลด์คงเหลือเขีย??ว่า คงเหลือ: nz(ตารางฝาก.ฟิลด์ฝาก,0) - nz(ตารางถอน.ฟิลด์ถอน,0)
- บันทึกคิวรี่แล้วทดสอบแสดงผลครับ ถ้าได้ผลตามต้องการในเบื้องต้นแล้ว กลับไปมุมมองออกแบบอีกครั้งเพื่อปรับแต่งฟิลด์ ชื่อนักเรียนตามต้องการ (จะใส่นามสกุลมาด้วย หรือใส่รหัสมาด้วย ทีนี้ก็คงไม่ยากแล้วครับ)