สมัครสมาชิก

แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Mercury

หน้า: [1] 2
1
ห้อง MS Access / การผูก Queries
« เมื่อ: เมื่อวานนี้ เวลา 10:04:10 »
ตอนคีย์ข้อมูลรับเข้าจะขึ้นแค่ช่อง Sumofboxin ซึ่งเวลากรอกได้ทำการกรอกครบทุกช่องค่ะแต่ไม่ขึ้นข้อมูลในช่องอื่นๆ ต้องมีการคีย์จ่ายออกถึงจะขึ้นข้อมูล Sumof ในช่องอื่นๆ
อยากทราบว่ามีวิธีให้ขึ้นข้อมูลตามที่เราคีย์ลงในฟอร์มมั้ยคะ




อันนี้เป็นหน้าคิวรี่ Design ค่ะ

2
ไม่มีไฟล์ที่แนบมาครับ ลองตรวจเช็คดู


3
สอบถามเพิ่มเติมค่ะพอดีมีการแก้ไขฟอร์มจ่ายออกซึ่งในแถวของ Lot1 ใช้สูตรที่อาจารย์เคยเขียนไว้ให้
ทีนี้ต้องการให้บรรทัด Lot2,Lot3,Lot4 คำนวณเหมือนกันกับสูตร Lot1 แต่ลองก้อปปี้โค้ดดังกล่าวมาใช้กับการคำนวณตัวที่เหลือแล้วแต่ไม่สามารถคำนวณได้
(ฺContain*Box n+PCSout n = outqty n)
รบกวนอาจารย์ช่วยแนะนำการเขียนโค้ดหน่อยค่ะ
และต้องการให้หลังจากคำนวณ Outqty1,2,3,4 แล้วบวกกันแล้วได้เป็นช่อง Total ค่ะ (Outqty1+ Outqty2+Outqty3+ Outqty4 = total)





4
ได้แล้วค่ะขอบคุณมากๆเลยค่ะ :love:

5
ขอบคุณค่ะ ในForm จ่ายออกได้แล้วค่ะ
ที่นี้ลองทำในฟอร์มรับเข้าใช้โค้ดเดียวกันเปลี่ยนตัวแปรแต่ว่าไม่ขึ้นค่ะ
ไม่ทราบว่าสามารถใช้โค้ดเดียวกันได้มั้ยคะ

อันนี้เป็นโค้ดที่ใช้ค่ะ
อ้างถึง
Private Sub Contain_AfterUpdate()
Call CalculateTotal
End Sub
Private Sub PCSIn_Afterupdate()
Call CalculateTotal
End Sub
Private Sub BoxIn_Afterupdate()
Call CalculateTotal
End Sub

Sub CalculateTotal()
Dim cal1, cal2 As Double
cal1 = Nz([Contain], 0) * Nz([BoxIn], 0)
cal2 = Nz([cal1], 0) + Nz([PCSIn], 0)

Me.totalpcs = cal2
End Sub
อ้างถึง

6
สมการที่ 1 : จำนวนรับเข้า*จำนวนลัง = จำนวนชิ้น 
สมการที่ 2 : จำนวนชิ้น+จำนวนชิ้นจ่ายออก=ผลรวมจำนวนชิ้น


จำนวนชิ้น = nz([จำนวนรับเข้า],0) * nz([จำนวนลัง],0)

ผลรวมจำนวนชิ้น = nz([จำนวนชิ้น],0) + nz([จำนวนชิ้นจ่ายออก],0)

สอบถามเพิ่มเติมค่ะต้องวางสูตรที่ไหนคะ ใส่ในช่องฟอร์มได้เลยมั้ยคะ

ถ้าให้คำนวนตลอด ไว้ที่ form_current
หรือ สร้าง sub แล้วกำหนดevent Afterupdate ของ textbox ที่ใช้คำนวน ครับเช่น

Sub CalculateTotal
จำนวนชิ้น = nz([จำนวนรับเข้า],0) * nz([จำนวนลัง],0)
ผลรวมจำนวนชิ้น = nz([จำนวนชิ้น],0) + nz([จำนวนชิ้นจ่ายออก],0)
end sub


Private sub จำนวนรับเข้า_Afterupdate
Call CalculateTotal
end sub
Private sub จำนวนลัง_Afterupdate
Call CalculateTotal
end sub
Private sub จำนวนชิ้นจ่ายออก_Afterupdate
Call CalculateTotal
end sub
Private sub จำนวนลัง_Afterupdate
Call CalculateTotal
end sub

หมายเหตุดูว่า มีการเพิ่มข้อมูล textbox ไหน ก็วาง call ที่ event afterupdate textbox นั้นเพื่อให้ผลรวมจำนวนชิ้น คำนวนทุกครั้งที่ระบุจาก textbox ที่เกี่ยวข้อง



ใส่โค้ดตามนี้ใน View code ที่ฟอร์ม
แต่ไม่ขึ้นข้อมูลอะไรค่ะ (แนบไฟล์มาด้วยค่ะ)



7
สมการที่ 1 : จำนวนรับเข้า*จำนวนลัง = จำนวนชิ้น 
สมการที่ 2 : จำนวนชิ้น+จำนวนชิ้นจ่ายออก=ผลรวมจำนวนชิ้น


จำนวนชิ้น = nz([จำนวนรับเข้า],0) * nz([จำนวนลัง],0)

ผลรวมจำนวนชิ้น = nz([จำนวนชิ้น],0) + nz([จำนวนชิ้นจ่ายออก],0)

สอบถามเพิ่มเติมค่ะต้องวางสูตรที่ไหนคะ ใส่ในช่องฟอร์มได้เลยมั้ยคะ

8
อยากคำนวณคล้ายๆ Excel ค่ะแบบเวลาใส่สูตรว่าช่องจำนวนรับเข้า คูณกับช่องจำนวนลัง
จะได้หน่วยที่เป็นชิ้นออกมาแล้ว เสร็จแล้วนำจำนวนชิ้นที่ได้นำมาบวกกับช่องจำนวนชิ้นแล้วได้เป็นผลรวมของชิ้นออกมาค่ะ

ตัวอย่างค่ะ
สมการที่ 1 : จำนวนรับเข้า*จำนวนลัง = จำนวนชิ้น 
สมการที่ 2 : จำนวนชิ้น+จำนวนชิ้นจ่ายออก=ผลรวมจำนวนชิ้น



9
ขอบคุณค่ะ

10
ยังไม่เข้าใจครับ

เอางี้ดีกว่า ผมแนะนำวิธีการละกัน

1. ต้องมีตาราง Product โดยต้องมีฟิลด์ UnitPack เช่น 12 ชิ้นต่อกล่อง
2. เวลาป้อนข้อมูล ถ้าหน่วยเป็นชิ้น ก็ป้อนปกติ
3. ถ้าป้อนข้อมูลเป็นกล่อง เช่น 3 กล่อง ก็ให้คำนวณไปเป็นชิ้น ก็จะได้ 3x12 คือ 36 ชิ้น
4. เวลาทำคำนวณ ก็คำนวณแบบเป็นชิ้นเอา


สอบถามเพิ่มเติมค่ะถ้าป้อนจำนวนกล่องแล้วให้คำนวนไปเป็นชิ้นทำยังไงคะ

11

จากปกติที่ช่อง Balance มีการรับเข้า-จ่ายออก แค่หน่วยเดียวสามารถคำนวนยอดคงเหลือได้ปกติ (ดังภาพบน)
แต่พอเพิ่มการคำนวณเป็น 2 หน่วยเวลาคีย์รหัสสินค้าเดิม (ที่ผูกไว้เพื่อคำนวณการรับเข้า-จ่ายออก) กลับไม่คำนวณ
ขึ้นเป็นรหัสที่ซ้ำกัน (ดังภาพล่าง)


อยากทราบว่าสามารถคำนวณสินค้าที่มีหน่วยต่างกันพร้อมกันเพื่อให้โชว์ในคิวรี่เดียวกันได้มั้ยคะ หรือจำเป็นต้องแยกคิวรี่เพราะลองแยกคิวรี่แล้วสามารถคำนวณได้
แต่ต้องนำข้อมูลมาแมพกันอีกที

12
ผูกแค่ Inhouse อย่างเดียวค่ะ
แต่พอเวลาคีย์สินค้าที่เป็น Inhouse เดียวกันอีกครั้งนึง ในหน้า Balance ขึ้นมาเป็น 2 ตัวซ้ำกัน คือไม่ได้คำนวณจาก Inhouse เดียวกันค่ะ

13
คือเป็นการคำนวณ Stock ที่มีหน่วยของสินค้าที่ต่างกันค่ะ มีการรับเข้าเป็นลัง,ชิ้น,ห่อ ซึ่งต้องการให้ในหน้า Balance ที่คำนวณออกมานั้นคำนวณข้อมูลทั้งสามอย่างพร้อมกัน
คือสามารถดูในตารางเดียวกัน เพราะปกติแยกคิวรี่แล้วสามารถคำนวณได้ปกติ แต่พอนำมารวมกันเพื่อแสดงผล 3 หน่วยในตารางเดียวกันเกิดปัญหาดังภาพที่ใส่ไว้ที่กระทู้ค่ะ

14
ข้อมูลตามนี้ค่ะส่วนที่เทสีแดงคือฟิลด์ที่ต้องการจะคำนวณค่ะ

15


จากภาพคือต้องการให้ช่อง Q-Balance ปรากฏการคำนวณ stock 2 ตัว (จำนวนรับเข้า,เศษ) ซึ่งทั้ง 2 ตัวมีหน่วยที่ต่างกันทำให้ไม่สามารถคำนวณในฟิลด์เดียวกันได้
แต่ลองผูกสูตรแล้วคีย์ข้อมูลกับขึ้นข้อมูลรหัสสินค้าเดียวกันซ้อนกันและคำนวณเหมือนเป็นสินค้าใหม่ไม่ได้บวกหรือลบกับข้อมูลก่อนหน้าดังภาพค่ะ
อยากทราบวิธีทำให้สามารถคีย์แล้วคำนวณ 2 อย่างเพื่อโชว์ในตารางเดียวกันได้ค่ะ

16
ได้แล้วค่ะขอบคุณมากค่ะ

หน้า: [1] 2