สมัครสมาชิก
 

การใช้สูตรคำนวณในแต่ละฟิลด์



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

07 ต.ค. 62 , 13:02:52
อ่าน 135 ครั้ง

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

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

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



 

07 ต.ค. 62 , 13:26:17
ตอบกลับ #1

PNR

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #1 เมื่อ: 07 ต.ค. 62 , 13:26:17 »
สมการที่ 1 : จำนวนรับเข้า*จำนวนลัง = จำนวนชิ้น 
สมการที่ 2 : จำนวนชิ้น+จำนวนชิ้นจ่ายออก=ผลรวมจำนวนชิ้น


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

ผลรวมจำนวนชิ้น = nz([จำนวนชิ้น],0) + nz([จำนวนชิ้นจ่ายออก],0)
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

07 ต.ค. 62 , 13:49:33
ตอบกลับ #2

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #2 เมื่อ: 07 ต.ค. 62 , 13:49:33 »
สมการที่ 1 : จำนวนรับเข้า*จำนวนลัง = จำนวนชิ้น 
สมการที่ 2 : จำนวนชิ้น+จำนวนชิ้นจ่ายออก=ผลรวมจำนวนชิ้น


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

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

สอบถามเพิ่มเติมค่ะต้องวางสูตรที่ไหนคะ ใส่ในช่องฟอร์มได้เลยมั้ยคะ
« แก้ไขครั้งสุดท้าย: 07 ต.ค. 62 , 13:53:35 โดย Mercury »

 

07 ต.ค. 62 , 14:10:06
ตอบกลับ #3

PNR

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #3 เมื่อ: 07 ต.ค. 62 , 14:10:06 »
สมการที่ 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 ที่เกี่ยวข้อง
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

07 ต.ค. 62 , 16:02:05
ตอบกลับ #4

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #4 เมื่อ: 07 ต.ค. 62 , 16:02:05 »
สมการที่ 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 ที่ฟอร์ม
แต่ไม่ขึ้นข้อมูลอะไรค่ะ (แนบไฟล์มาด้วยค่ะ)



 

07 ต.ค. 62 , 16:26:02
ตอบกลับ #5

PNR

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #5 เมื่อ: 07 ต.ค. 62 , 16:26:02 »
Private Sub จำนวนบรรจุ_AfterUpdate()
Call CalculateTotal
End Sub
Private Sub จำนวนชิ้นจ่ายออก_Afterupdate()
Call CalculateTotal
End Sub
Private Sub จำนวนลังจ่ายออก_Afterupdate()
Call CalculateTotal
End Sub

Sub CalculateTotal()
Dim cal1, cal2 As Double
cal1 = Nz([จำนวนบรรจุ], 0) * Nz([จำนวนลังจ่ายออก], 0)
cal2 = Nz([cal1], 0) + Nz([จำนวนชิ้นจ่ายออก], 0)

Me.ผลรวมจำนวนชิ้น = cal2
End Sub

ไม่มี textbox ชื่อผลรวมจำนวนชิ้นครับ อีกอย่างตั้งชื่อ Control เป็นภาษาอังกฤษเถอะครับ จะได้ไม่มีปัญหาในอนาคต


:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

08 ต.ค. 62 , 09:20:13
ตอบกลับ #6

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #6 เมื่อ: 08 ต.ค. 62 , 09:20:13 »
ขอบคุณค่ะ ใน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
อ้างถึง

 

08 ต.ค. 62 , 11:00:36
ตอบกลับ #7

PNR

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #7 เมื่อ: 08 ต.ค. 62 , 11:00:36 »
โค้ด ถูกแล้วครับ แต่ทำมันไม่ทำงานเพราะเราเพิ่มโค้ดแล้ว แต่ลืมไปกำหนด Event ตรงคุณสมบัติให้มันด้วย
สังเกตุว่า Event Afterupdate แต่ตรงคุณสมบัติยังว่างอยู่ กดเข้าไปตามรูปครับ

อีกอย่างตรง textbox totalpcs ยังเป็นชื่อ Text80 อยู่อย่าลืมแก้นะครับ

« แก้ไขครั้งสุดท้าย: 08 ต.ค. 62 , 11:03:53 โดย PNR »
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

09 ต.ค. 62 , 15:13:16
ตอบกลับ #8

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #8 เมื่อ: 09 ต.ค. 62 , 15:13:16 »
ได้แล้วค่ะขอบคุณมากๆเลยค่ะ :love:

 

15 ต.ค. 62 , 08:48:43
ตอบกลับ #9

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

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





 

15 ต.ค. 62 , 10:05:31
ตอบกลับ #10

PNR

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #10 เมื่อ: 15 ต.ค. 62 , 10:05:31 »
ไม่มีไฟล์ที่แนบมาครับ ลองตรวจเช็คดู
:meaw: :grin: :shout:
 

15 ต.ค. 62 , 10:13:29
ตอบกลับ #11

Mercury

  • สมาชิกไท.Access
  • กระทู้: 17

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: การใช้สูตรคำนวณในแต่ละฟิลด์
« ตอบกลับ #11 เมื่อ: 15 ต.ค. 62 , 10:13:29 »
ไม่มีไฟล์ที่แนบมาครับ ลองตรวจเช็คดู


 


บอร์ดเรียนรู้ Access สำหรับคนไทย