กระทู้เก่าบอร์ด อ.Yeadram
2,138 1
URL.หัวข้อ /
URL
วิธีการทำแบบสอบถาม (Query)
ตารางรับสินค้า
เลขที่ใบรับสินค้า รหัสสินค้า จำนวน วันที่รับสินค้า
PO001 001 100 11/01/10
PO001 002 50 11/01/10
PO002 001 50 10/1/10
ตารางเบิกสินค้า
เลขที่ใบเบิกสินค้า รหัสสินค้า จำนวน วันที่รับสินค้า
001 001 30 12/01/10
001 002 5 12/01/10
ส่วนของแบบสอบถามถ้าต้องการให้หักยอดการเบิกเหลือยอดจำนวนสินค้าปัจจุบันจะทำยังไงค่ะ
ช่วนหน่อยนะค่ะ ไม่รู้จะทำยังไงจริง ๆ
เลขที่ใบรับสินค้า รหัสสินค้า จำนวน วันที่รับสินค้า
PO001 001 100 11/01/10
PO001 002 50 11/01/10
PO002 001 50 10/1/10
ตารางเบิกสินค้า
เลขที่ใบเบิกสินค้า รหัสสินค้า จำนวน วันที่รับสินค้า
001 001 30 12/01/10
001 002 5 12/01/10
ส่วนของแบบสอบถามถ้าต้องการให้หักยอดการเบิกเหลือยอดจำนวนสินค้าปัจจุบันจะทำยังไงค่ะ
ช่วนหน่อยนะค่ะ ไม่รู้จะทำยังไงจริง ๆ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
Time: 0.3362s
ต้องทำไว้เป็นตารางเดียวกัน
คุณสังเกตไหมว่า มันมีจำนวนฟิลด์เท่ากัน และชนิดข้อมูลมันก็เหมือนกัน
การจัดการข้อมูล ที่เขาพากันเขียนโปรแกรมมาให้เราใช้ ทั้ง DBF MDB SQL ต่างเพื่อให้การจัดการที่ง่ายครับ ชนิดข้อมูลเหมือนๆ กันรูปแบบหน้าที่เหมือนๆ กัน ก็ให้อยู่ในตารางเดียวกันไปเลย
ในกรณีของคุณแค่เอาข้อมูลทั้งสอง มารวมกัน และให้มีฟิลด์เพิ่ม 1 ฟิลด์ ไว้เก็บข้อมูลที่ระบุว่า รายการนั้นๆ มันเป็นขาเข้า หรือขาออก หรือเพิ่มระบุว่า มันเป็นใบรับหรือใบเบิก แค่นั้นเองครับ
ซึ่งถ้าทำแบบดังกล่าวแล้ว มันจะง่ายไปทั้งหมดเลย เพราะมันอยู่ในตารางเดียวกัน
แต่คุณได้ทำแยกตารางไปแล้ว ทำไงได้เพราะงั้นต้องเพิ่มขั้นตอนคือ เอาข้อมูลสองตารางนี้มาอยู่ด้วยกันก่อน ด้วยการทำ Union Query แล้วค่อยทำคิวรี่สรุปอีกครั้ง
- เอาข้อมูลมารวมกัน แยกเครื่องหมาย (myQuery1)
- sum ยอดรวม(myQuery2)
myQuery1
select [รหัสสินค้า], sum([จำนวน]) as Tt , "mIN" as mType From [ตารางรับ]
union
select [รหัสสินค้า], sum([จำนวน])*-1 as Tt "mOut" as mType From [ตารางเบิก]
Group by [รหัสสินค้า];
myQuery2
select [รหัสสินค้า], sum(mType) from myQuery1 Group by [รห?สสินค้า];