กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
244 1
URL.หัวข้อ /
URL
ขอความช่วยเหลือเรื่อง การใช้UpdateQueryในAccess
คือผมจะใช้ Update Query แล้ว มันขึ้นว่า การดำเนินการต้องใช้ Query ที่มีการปรับปรุง แก้ยังงัยดีครับ
รายละเอียดตามนี้ครับ
ผมมีตารางที่1 เก็บ Product Code โดยประกอบด้วย ชื่อรุ่นเป็น(Primary Key) ,Cost
ตารางที่2 เก็บ รายการ Matterial ประกอบด้วย Part Matterial(Primary Key),ราคา/@
ตารางที่3 เก็บ List รายการ อุปกรณ์ ที่ใช้ในการผลิต ประกอบด้วย ชื่อรุ่น , Part matterial , จำนวนที่ใช้
(ชื่อรุ่น และ Part Matterial เป็น Primary)
Query_sum_cost รวมราคาต้นทุน Matterial ตาม ProductCode
Update Query โดย ให้ Update ราคาต้นทุนจาก Query_sum_cost ไป Update ใน Field Cost ของตารางที่ 1
(ผมเชื่อม ความ สัมพันธ์จาก Query_sum_costไปยังตารางที่1แล้ว )
รายละเอียดตามนี้ครับ
ผมมีตารางที่1 เก็บ Product Code โดยประกอบด้วย ชื่อรุ่นเป็น(Primary Key) ,Cost
ตารางที่2 เก็บ รายการ Matterial ประกอบด้วย Part Matterial(Primary Key),ราคา/@
ตารางที่3 เก็บ List รายการ อุปกรณ์ ที่ใช้ในการผลิต ประกอบด้วย ชื่อรุ่น , Part matterial , จำนวนที่ใช้
(ชื่อรุ่น และ Part Matterial เป็น Primary)
Query_sum_cost รวมราคาต้นทุน Matterial ตาม ProductCode
Update Query โดย ให้ Update ราคาต้นทุนจาก Query_sum_cost ไป Update ใน Field Cost ของตารางที่ 1
(ผมเชื่อม ความ สัมพันธ์จาก Query_sum_costไปยังตารางที่1แล้ว )
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00357
เมื่อผมลองสร้างตารางขึ้นมาคร่าวๆ แล้ว พบว่าอาจจะไม่ต้องมีตารางที่ 1 ก็ได้ครับ
ใช้แค่ตารางที่ 2 และ 3 ก็น่าจะพอ ถ้าต้องการดู Cost รวมของแต่ละรุ่นก็ใช้ query สร้างขึ้นแทน
ผมเดาเอาว่าตาราง List น่าจะประกอบไปด้วยข้อมูลและฟีลด์คล้ายๆ นี้
Batch-------Part---------- NoUsed
B001----------001----------10
B001----------002---------- 5
B002----------001---------- 2
B002----------003---------- 4
ส่วนตาราง Material น่าจะมีลักษณะคล้ายๆ นี้
Part-----UnitCost
001---------- 50
002----------100
003----------150
เมื่อนำไปสร้าง query โดยมี SQL อย่างงี้
SELECT tblList.Batch, Sum([NoUsed]*[UnitCost]) AS TotalCost
FROM tblMaterial INNER JOIN tblList ON tblMaterial.Part = tblList.Part
GROUP BY tblList.Batch;
ก็จะได้ผลลัพธ์ดังนี้ครับ
Batch-------TotalCost
B001-----------1000
B002-------------700
ไม่ทราบว่าตรงกับความต้องการหรือเปล่าครับ
ถ้ายังยืนยันแบบที่เสนอมา คงต้องใช้ Function โดยใช้ DSum() เข้าช่วยแหล่ะครับ
Time: 0.3072s