กระทู้เก่าบอร์ด อ.Yeadram
2,329 9
URL.หัวข้อ /
URL
สอบถามผู้ชำนาญเรื่องการตัดสต๊อกหน่อยครับ
ผมอยากตัดสต๊อก โดยหน้าฟอร์มเลือก ยี่ห้อรถยนต์ จาก(Combo1) ก็จะปรากฏ Detail อะไหล่ ที่ใช้ประกอบรถยนต์ เป็น(Subform)ใน subform นี้มี
ตารางอะไหล่
id_อะไหล่ ชื่ออะไหล่ จำนวน
1 A 4
2 B 5
3 C 3
.. .. ..
... ... ...
ตารางสต๊อก
id_stock amount_คงเหลือ id_อะไหล่
1 500 1
2 600 2
3 700 3
ถ้าผม กรอก จำนวน[ 4 ] คัน ในการผลิต (textbox) หน้าฟอร์ม แล้วกด Submit
#ผมอยากให้ในตาราง สต๊อก มีการ อัพเดท หลังจากที่กดปุ่ม Submit
4 * 4 - 500 = -484
4 * 5 - 600 = -580
4 * 3 - 700 = -688
ประมาณนี้อะครับ ผมจะทำแนวนี้ได้หรือเปล่าครับช่วยแนะนำ โค๊ดผมทีผมทำไม่เป็นเรื่องการตัดสต๊อก Access 2010
ตารางอะไหล่
id_อะไหล่ ชื่ออะไหล่ จำนวน
1 A 4
2 B 5
3 C 3
.. .. ..
... ... ...
ตารางสต๊อก
id_stock amount_คงเหลือ id_อะไหล่
1 500 1
2 600 2
3 700 3
ถ้าผม กรอก จำนวน[ 4 ] คัน ในการผลิต (textbox) หน้าฟอร์ม แล้วกด Submit
#ผมอยากให้ในตาราง สต๊อก มีการ อัพเดท หลังจากที่กดปุ่ม Submit
4 * 4 - 500 = -484
4 * 5 - 600 = -580
4 * 3 - 700 = -688
ประมาณนี้อะครับ ผมจะทำแนวนี้ได้หรือเปล่าครับช่วยแนะนำ โค๊ดผมทีผมทำไม่เป็นเรื่องการตัดสต๊อก Access 2010
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R16631
ใช้ Update Query ไป Update ในตารางสต็อกได้ครับ
3 @R16633
ยกตัวอย่างให้ดูหน่อยครับ
4 @R16634
1. เลือกรุ่นจาก ComboBox มา 1 รุ่น ได้รหัสอะไหล่ที่ต้องใช้มาชุดหนึ่ง พอเลือกจำนวนรถ 4 คัน ก็สามารถทำ Query ออกมาได้ตัวหนึ่ง สมมุติชื่อ Q_Cal_Stocks
id ชื่ออะไหล่ จำนวน amount Net_Stock : [amount] - 4*[จำนวน]
1 A 4 500 484
2 B 5 600 580
3 C 3 700 688
2. สร้าง Query ขึ้นมาตัวหนึ่ง เลือก ตารางสต็อก กับ Q_Cal_Stock เชื่อมกันด้วยฟิวด์ id กับ id_Staock แล้วเลือกมา 2 ฟิวด์จากตารางสต็อก คือ id กับ amount
3. เปลี่ยน Q_Cal_Stock ให้เป็น Update Query
4. ที่ฟิวด์ amount ตรงช่อง Update to ให้ใส่เป็น [Net_Stock]
5. ไปสร้างปุ่มขึ้นมาปุ่มหนึ่ง ผูกมาโคร OpenQuery ชื่อ Q_Cal_Stock เพื่อใช้กดแล้วทำการตัดสต็อก
id ชื่ออะไหล่ จำนวน amount Net_Stock : [amount] - 4*[จำนวน]
1 A 4 500 484
2 B 5 600 580
3 C 3 700 688
2. สร้าง Query ขึ้นมาตัวหนึ่ง เลือก ตารางสต็อก กับ Q_Cal_Stock เชื่อมกันด้วยฟิวด์ id กับ id_Staock แล้วเลือกมา 2 ฟิวด์จากตารางสต็อก คือ id กับ amount
3. เปลี่ยน Q_Cal_Stock ให้เป็น Update Query
4. ที่ฟิวด์ amount ตรงช่อง Update to ให้ใส่เป็น [Net_Stock]
5. ไปสร้างปุ่มขึ้นมาปุ่มหนึ่ง ผูกมาโคร OpenQuery ชื่อ Q_Cal_Stock เพื่อใช้กดแล้วทำการตัดสต็อก
5 @R16644
ขอบคุณครับ
6 @R16646
ขอถามอีกเรื่องครับ คือว่า ในตาราง อะไหล่ใช้อะไหล่ตัวเดียวกัน แต่เอาไปใช้ในการผลิตรถยนต์คนละคัน ผมมีหน้าฟอร์มที่ใช้ Add new อะไหล่ ผมจะทำยังไงที่เวลาผม add new อะไหล่ ที่มีชื่อเดียวกัน ให้ตรงกับ id_stock อะครับ
7 @R16651
ไม่ค่อยเข้าใจคำถามครับ แต่คิดว่าน่าจะเกี่ยวข้องกับการออกแบบฐานข้อมูลให้ถูกต้องตั้งแต่แรกก่อนครับ เช่น
1. ตาราง "อะไหล่" มีรหัสอะไหล่เป็นคีย์หลัก ควรมีฟิวด์เก็บสต็อกเริ่มต้น กับฟิวด์ Last Stock ไว้ด้วย เพื่อสะดวกตอนทำ Report (ลดการ Query)
2. ตาราง "รุ่นของรถ" เป็นตัวบอกรายละเอียดว่ารถแต่ละรุ่นใช้รหัสอะไหล่อะไรบ้าง
3. ตาราง "Transactions" ไว้เก็บข้อมูลเวลามีการประกอบรถหรือเบิกใช้อะไหล่
4. ตาราง "Parts History ของอะไหล่" เวลามี Movement เช่น Stock In (ซื้อเพิ่ม, รับคืน, โอนมาจาก) หรือ Stock Out (เบิกใช้, โอนออก, ของชำรุดตัดจำหน่าย) เป็นต้น
1. ตาราง "อะไหล่" มีรหัสอะไหล่เป็นคีย์หลัก ควรมีฟิวด์เก็บสต็อกเริ่มต้น กับฟิวด์ Last Stock ไว้ด้วย เพื่อสะดวกตอนทำ Report (ลดการ Query)
2. ตาราง "รุ่นของรถ" เป็นตัวบอกรายละเอียดว่ารถแต่ละรุ่นใช้รหัสอะไหล่อะไรบ้าง
3. ตาราง "Transactions" ไว้เก็บข้อมูลเวลามีการประกอบรถหรือเบิกใช้อะไหล่
4. ตาราง "Parts History ของอะไหล่" เวลามี Movement เช่น Stock In (ซื้อเพิ่ม, รับคืน, โอนมาจาก) หรือ Stock Out (เบิกใช้, โอนออก, ของชำรุดตัดจำหน่าย) เป็นต้น
8 @R16658
ตาราง "รุ่นของรถ" (id = Primary key)
id_รุ่นของรถ name_รุ่นของรถ
1 Honda
2 Yamaha
3 Toyota
. ..
ตาราง "อะไหล่" (id = Primary key)
id_อะไหล่ name_อะไหล่ เบอร์รุ่น จำนวนที่มีในสต็อก
1 ยาง V1 1000
2 ยาง V1.5 1010
3 ล้อ V9 850
4 ไฟเบอร์ V10 920
. .. ...
คือแบบนี้ รุ่นรถแต่ละรุ่น สามารถมี อะไหล่ เช่น
Honda ใช้ ยาง 4 เส้นV1 2เส้น V1.5 2เส้น , ล้อ 4 ล้อ , ไฟเบอร์ 16 ชิ้น
และ รถรุ่นอื่น บางรุ่น อาจมีใช้ ยาง 2 เส้น V1 2เส้น , ใช้ล้อ 2 ล้อ ไฟเบอร์ 4 ชิ้น ประมาณนี้
* ผมอยากรู้ว่าควรจะออกแบบตารางยังไงให้ถูกต้อง มีฟิวด์อะไรบ้าง รวมไปถึงตารางสต๊อก ให้มี primary key และ reference key ที่ถูกต้อง ด้วย ....รบกวนช่วยแนะนำหน่อยครับ
id_รุ่นของรถ name_รุ่นของรถ
1 Honda
2 Yamaha
3 Toyota
. ..
ตาราง "อะไหล่" (id = Primary key)
id_อะไหล่ name_อะไหล่ เบอร์รุ่น จำนวนที่มีในสต็อก
1 ยาง V1 1000
2 ยาง V1.5 1010
3 ล้อ V9 850
4 ไฟเบอร์ V10 920
. .. ...
คือแบบนี้ รุ่นรถแต่ละรุ่น สามารถมี อะไหล่ เช่น
Honda ใช้ ยาง 4 เส้นV1 2เส้น V1.5 2เส้น , ล้อ 4 ล้อ , ไฟเบอร์ 16 ชิ้น
และ รถรุ่นอื่น บางรุ่น อาจมีใช้ ยาง 2 เส้น V1 2เส้น , ใช้ล้อ 2 ล้อ ไฟเบอร์ 4 ชิ้น ประมาณนี้
* ผมอยากรู้ว่าควรจะออกแบบตารางยังไงให้ถูกต้อง มีฟิวด์อะไรบ้าง รวมไปถึงตารางสต๊อก ให้มี primary key และ reference key ที่ถูกต้อง ด้วย ....รบกวนช่วยแนะนำหน่อยครับ
9 @R16660
เพิ่มตาราง ส่วนประกอบรถ
ID_รุ่นของรถ, ID_อะไหล่, จำนวนอะไหล่ (ต่อรถ 1 คัน)
ให้ ID ทั้ง 2 เป็น key ร่วม
เวลาตัด stock เอาทั้งสอง key มาหาจำนวนต่อคัน คูณจำนวนรถ = จำนวนตัด stock
ID_รุ่นของรถ, ID_อะไหล่, จำนวนอะไหล่ (ต่อรถ 1 คัน)
ให้ ID ทั้ง 2 เป็น key ร่วม
เวลาตัด stock เอาทั้งสอง key มาหาจำนวนต่อคัน คูณจำนวนรถ = จำนวนตัด stock
Time: 0.2811s
ตาราง อะไหล่
id_อะไหล่ ชื่ออะไหล่ จำนวน id_stock
1 A 4 1
2 B 5 2
3 C 3 3
4 D 10 1
..
...
ตาราง สต๊อก
id_stock amount_คงเหลือ
1 500
2 600
3 700