วิธีการทำแบบสอบถาม (Query)
กระทู้เก่าบอร์ด อ.Yeadram

 2,142   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
ส่วนของแบบสอบถามถ้าต้องการให้หักยอดการเบิกเหลือยอดจำนวนสินค้าปัจจุบันจะทำยังไงค่ะ
ช่วนหน่อยนะค่ะ ไม่รู้จะทำยังไงจริง ๆ

1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R04883
จริงๆ ตารางทั้งสองของคุณเนี่ย มันไม่ต้องแยกออกจากกันนะครับ
ต้องทำไว้เป็นตารางเดียวกัน
คุณสังเกตไหมว่า มันมีจำนวนฟิลด์เท่ากัน และชนิดข้อมูลมันก็เหมือนกัน
การจัดการข้อมูล ที่เขาพากันเขียนโปรแกรมมาให้เราใช้ ทั้ง 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 [รห?สสินค้า];

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3699s