สอบถามวิธีทำให้ Text Box รันเลขพร้อมบันทึกลงตารางนะครับ



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

17 ธ.ค. 62 , 16:25:11
อ่าน 337 ครั้ง

UnKnown

สวัสดีครับ เริ่มต้นคือผมมีรายการขายสินค้าเป็นแบบ Continuous Forms แต่สินค้าบางรายการจะขายเป็นชุด(ในช่องลำดับผมจึงเว้นใว้)
ทีนี้จะทำอย่างไรครับให้กล่องเป้าหมายเหมือนลำดับ และเมื่อขึ้นรายการสินค้าใหม่แล้วไม่มีการใส่ลำดับลงไปในช่อง ให้กล่องเป้าหมายใส่ค่าเดิมก่อนหน้าลงไปเองเลยนะ(ตามตารางตัวอย่าง) แถมบันทึกลงเทเบิ้ลด้วยต้องทำอย่างไรบ้างครับนี่
 :question:
  ลำดับ    กล่องเป้าหมาย  รวม
  1  1
    1
    11 ชุด
  2  21 ชิ้น
  3  3
    31 ชุด
  4  41 ชิ้น
...

 

18 ธ.ค. 62 , 18:05:00
ตอบกลับ #1

สันติสุข

  • แฟนพันธุ์แท้ไท.Access
  • *
  • กระทู้: 409
  • พลังขอบคุณ: 367

  • รู้ป้องกัน อย่าตระหนก หมดวิตก ต้องใส่หน้ากาก

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

หลักการคือ พอขึ้นเรคอร์ดใหม่ปั๊ป ก็เอา "กล่องเป้าหมาย" ของบรรทัดสุดท้ายมาใส่พร้อมบันทึกเรคอร์ดครับ ก็ใส่โค้ดนี้ลงไปใน Form_Current event procedure

โค๊ด: [Select]
Private Sub Form_Current()

    Dim RS As DAO.Recordset
   
    If Me.NewRecord Then
        Set RS = Me.RecordsetClone
        If RS.RecordCount > 0 Then
            RS.MoveLast
            If Not IsNull(RS("ชื่อฟิลด์กล่องเป้าหมาย")) Then
                Me.ชื่อเท็กซ์บ็อกซ์กล่องเป้าหมาย = RS("ชื่อฟิลด์กล่องเป้าหมาย")
                DoCmd.RunCommand acCmdSaveRecord
            End If
        End If
        RS.Close
    End If
           
End Sub
ช่วยพกถุงผ้า/ถุงพลาสติกไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, isuccess

19 ธ.ค. 62 , 11:07:22
ตอบกลับ #2

isuccess

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

  • ขอบคุณ ไท.Access

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

หลักการคือ พอขึ้นเรคอร์ดใหม่ปั๊ป ก็เอา "กล่องเป้าหมาย" ของบรรทัดสุดท้ายมาใส่พร้อมบันทึกเรคอร์ดครับ ก็ใส่โค้ดนี้ลงไปใน Form_Current event procedure

โค๊ด: [Select]
Private Sub Form_Current()

    Dim RS As DAO.Recordset
   
    If Me.NewRecord Then
        Set RS = Me.RecordsetClone
        If RS.RecordCount > 0 Then
            RS.MoveLast
            If Not IsNull(RS("ชื่อฟิลด์กล่องเป้าหมาย")) Then
                Me.ชื่อเท็กซ์บ็อกซ์กล่องเป้าหมาย = RS("ชื่อฟิลด์กล่องเป้าหมาย")
                DoCmd.RunCommand acCmdSaveRecord
            End If
        End If
        RS.Close
    End If
           
End Sub

ขอโทษด้วยน่ะครับ ผมมือใหม่มากกกครับ
คือไม่ทราบว่า โค้ดชุดนี้เอาไปวางไว้ตรงไหน ของ Form_Current event procedure ครับ
ขอบพระคุณครับ
« แก้ไขครั้งสุดท้าย: 19 ธ.ค. 62 , 11:45:30 โดย isuccess »

 

19 ธ.ค. 62 , 12:48:29
ตอบกลับ #3

สันติสุข

  • แฟนพันธุ์แท้ไท.Access
  • *
  • กระทู้: 409
  • พลังขอบคุณ: 367

  • รู้ป้องกัน อย่าตระหนก หมดวิตก ต้องใส่หน้ากาก

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

เปิดฟอร์มใน Design View > กด F4 เพื่อเปิด Property Sheet > เลือก Form ในช่อง Selection Type > คลิกที่แทป Event > เลือก [Event Procedure] ในบรรทัด On Current > คลิปปุ่ม ... ที่อยู่ท้ายบรรทัด > จะเห็น VBA Editor > เอาโค้ดตั้งแต่บรรทัด Dim ... จนถึง End If บรรทัดสุดท้ายใส่ลงใน Private Sub Form_Current()
ช่วยพกถุงผ้า/ถุงพลาสติกไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: isuccess

19 ธ.ค. 62 , 13:06:19
ตอบกลับ #4

UnKnown

นำไปใช้ได้ผล(เพิ่มเติมตรงหากมีการใส่ค่าลำดับให้ส่งค่ามา)ขอบคุณครับผม :love:



ขอโทษด้วยน่ะครับ ผมมือใหม่มากกกครับ
คือไม่ทราบว่า โค้ดชุดนี้เอาไปวางไว้ตรงไหน ของ Form_Current event procedure ครับ
ขอบพระคุณครับ

ภาพตัวอย่างตาม อ.สันติสุข เลยครับ

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

19 ธ.ค. 62 , 13:15:41
ตอบกลับ #5

isuccess

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

  • ขอบคุณ ไท.Access

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

เปิดฟอร์มใน Design View > กด F4 เพื่อเปิด Property Sheet > เลือก Form ในช่อง Selection Type > คลิกที่แทป Event > เลือก [Event Procedure] ในบรรทัด On Current > คลิปปุ่ม ... ที่อยู่ท้ายบรรทัด > จะเห็น VBA Editor > เอาโค้ดตั้งแต่บรรทัด Dim ... จนถึง End If บรรทัดสุดท้ายใส่ลงใน Private Sub Form_Current()

-
นำไปใช้ได้ผล(เพิ่มเติมตรงหากมีการใส่ค่าลำดับให้ส่งค่ามา)ขอบคุณครับผม :love:



ขอโทษด้วยน่ะครับ ผมมือใหม่มากกกครับ
คือไม่ทราบว่า โค้ดชุดนี้เอาไปวางไว้ตรงไหน ของ Form_Current event procedure ครับ
ขอบพระคุณครับ

ภาพตัวอย่างตาม อ.สันติสุข เลยครับ



ขอบพระคุณครับ

 


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