กระทู้เก่าบอร์ด อ.Yeadram
1,234 4
URL.หัวข้อ /
URL
ถามหน่อยครับ เรื่องคุมการคีย์ข้อมูลซ้ำ
จากกระทู้เก่าๆ ลองหาดูแล้ว แต่ก็ยังติดปัญหานิดนึงครับ
http://www.thai-access.com/yeadram_view.php?topic_id=213&PagePosition=1
=============================================
http://www.thai-access.com/yeadram_view.php?topic_id=1306&PagePosition=1
=============================================
ผมลองเอาโค้ดนี้มาลองทำดู
Private Sub txtNumber_AfterUpdate()
If Nz(DLookup("idNumber", "tbEmployee", "idNumber='" & Me.txtNumber& "'"), "zzzz") <> "zzzz" Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ปรากฏว่า หลังจากคีย์เลขซ้ำแล้วกด Enter หรือเลื่อน Textbox ไปเป็นอันอื่น จะแสดงข้อความแสดง แต่หลังจากกด ปุ่มok ผมอยากให้ Cursor กลับมาอยู่ txtNumber เหมือนเดิมจนกว่าจะถูกต้องตามเงือนไข ถึงจะเลือนไปยังTextbox อื่นๆได้
ใส่ Me.txtNumber.SetFocus ตรงไหน ครับ
ขอบคุณครับ
จากกระทู้เก่าๆ ลองหาดูแล้ว แต่ก็ยังติดปัญหานิดนึงครับ
http://www.thai-access.com/yeadram_view.php?topic_id=213&PagePosition=1
=============================================
http://www.thai-access.com/yeadram_view.php?topic_id=1306&PagePosition=1
=============================================
ผมลองเอาโค้ดนี้มาลองทำดู
Private Sub txtNumber_AfterUpdate()
If Nz(DLookup("idNumber", "tbEmployee", "idNumber='" & Me.txtNumber& "'"), "zzzz") <> "zzzz" Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ปรากฏว่า หลังจากคีย์เลขซ้ำแล้วกด Enter หรือเลื่อน Textbox ไปเป็นอันอื่น จะแสดงข้อความแสดง แต่หลังจากกด ปุ่มok ผมอยากให้ Cursor กลับมาอยู่ txtNumber เหมือนเดิมจนกว่าจะถูกต้องตามเงือนไข ถึงจะเลือนไปยังTextbox อื่นๆได้
ใส่ Me.txtNumber.SetFocus ตรงไหน ครับ
ขอบคุณครับ
http://www.thai-access.com/yeadram_view.php?topic_id=213&PagePosition=1
=============================================
http://www.thai-access.com/yeadram_view.php?topic_id=1306&PagePosition=1
=============================================
ผมลองเอาโค้ดนี้มาลองทำดู
Private Sub txtNumber_AfterUpdate()
If Nz(DLookup("idNumber", "tbEmployee", "idNumber='" & Me.txtNumber& "'"), "zzzz") <> "zzzz" Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ปรากฏว่า หลังจากคีย์เลขซ้ำแล้วกด Enter หรือเลื่อน Textbox ไปเป็นอันอื่น จะแสดงข้อความแสดง แต่หลังจากกด ปุ่มok ผมอยากให้ Cursor กลับมาอยู่ txtNumber เหมือนเดิมจนกว่าจะถูกต้องตามเงือนไข ถึงจะเลือนไปยังTextbox อื่นๆได้
ใส่ Me.txtNumber.SetFocus ตรงไหน ครับ
ขอบคุณครับ
จากกระทู้เก่าๆ ลองหาดูแล้ว แต่ก็ยังติดปัญหานิดนึงครับ
http://www.thai-access.com/yeadram_view.php?topic_id=213&PagePosition=1
=============================================
http://www.thai-access.com/yeadram_view.php?topic_id=1306&PagePosition=1
=============================================
ผมลองเอาโค้ดนี้มาลองทำดู
Private Sub txtNumber_AfterUpdate()
If Nz(DLookup("idNumber", "tbEmployee", "idNumber='" & Me.txtNumber& "'"), "zzzz") <> "zzzz" Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ปรากฏว่า หลังจากคีย์เลขซ้ำแล้วกด Enter หรือเลื่อน Textbox ไปเป็นอันอื่น จะแสดงข้อความแสดง แต่หลังจากกด ปุ่มok ผมอยากให้ Cursor กลับมาอยู่ txtNumber เหมือนเดิมจนกว่าจะถูกต้องตามเงือนไข ถึงจะเลือนไปยังTextbox อื่นๆได้
ใส่ Me.txtNumber.SetFocus ตรงไหน ครับ
ขอบคุณครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R19318
เอ้าพิมพ์ซ้ำอีก
2 @R19320
ต้องทำใน BeforeUpdate event ครับ ไม่ใช่ AfterUpdate event
3 @R19323
ขอบคุณครับคุณ สันติสุข
จากโค้ดนี้
Private Sub txtNumber_BeforeUpdate(Cancel As Integer)
If Nz(DLookup("idNumber", "tbEmployee", "[idNumber]= " & Me.txtNumber & ""), "zzzz") <> "zzzz" Then
MsgBox "àÅ¢¹Õéà¤ÂÁÕÍÂÙèã¹ÃкºáÅéÇ", vbCritical, "Information"
Cancel = True
End If
End Sub
เงื่อนไข
- ถ้าพิมพ์เลขซ้ำ ใช้งานได้ปกติ
- ถ้าพิมพ์เลขไม่ซ้ำ ใช้งานได้ปกติ
- ถ้าพิมพ์เลขแล้วลบออก(ปล่อยให้เป็นค่าว่าง) กด Enter ใช้งานไม่ได้ Error
อยากรู้ว่าผมพิมพ์ตกตรงไหนหรอครับ หรือว่าไม่ได้ใช้ function นี้ รบกวนช่วยแนะนำฟังก์ชั่นที่ใช้ที่ถูกต้องด้วยครับ ขอบคุณครับ
จากโค้ดนี้
Private Sub txtNumber_BeforeUpdate(Cancel As Integer)
If Nz(DLookup("idNumber", "tbEmployee", "[idNumber]= " & Me.txtNumber & ""), "zzzz") <> "zzzz" Then
MsgBox "àÅ¢¹Õéà¤ÂÁÕÍÂÙèã¹ÃкºáÅéÇ", vbCritical, "Information"
Cancel = True
End If
End Sub
เงื่อนไข
- ถ้าพิมพ์เลขซ้ำ ใช้งานได้ปกติ
- ถ้าพิมพ์เลขไม่ซ้ำ ใช้งานได้ปกติ
- ถ้าพิมพ์เลขแล้วลบออก(ปล่อยให้เป็นค่าว่าง) กด Enter ใช้งานไม่ได้ Error
อยากรู้ว่าผมพิมพ์ตกตรงไหนหรอครับ หรือว่าไม่ได้ใช้ function นี้ รบกวนช่วยแนะนำฟังก์ชั่นที่ใช้ที่ถูกต้องด้วยครับ ขอบคุณครับ
4 @R19324
ก็ตรวจสอบก่อนว่ามันว่างหรือเปล่าเท่านั้นเอง แต่ผมก็ไม่ค่อยแน่ใจนะ เพราะโค้ดเขียนมาใช้ idNumber แต่ภาพที่แสดงมันฟ้อง formula_number
Private Sub txtNumber_BeforeUpdate(Cancel As Integer)
If Nz(Me.txtNumber) then
จะทำอะไรก็ว่าไป
End If
If Nz(DLookup("idNumber", "tbEmployee", "[idNumber]= " & Me.txtNumber & ""), "zzzz") <> "zzzz" Then
MsgBox "àÅ¢¹Õéà¤ÂÁÕÍÂÙèã¹ÃкºáÅéÇ", vbCritical, "Information"
Cancel = True
End If
End Sub
Private Sub txtNumber_BeforeUpdate(Cancel As Integer)
If Nz(Me.txtNumber) then
จะทำอะไรก็ว่าไป
End If
If Nz(DLookup("idNumber", "tbEmployee", "[idNumber]= " & Me.txtNumber & ""), "zzzz") <> "zzzz" Then
MsgBox "àÅ¢¹Õéà¤ÂÁÕÍÂÙèã¹ÃкºáÅéÇ", vbCritical, "Information"
Cancel = True
End If
End Sub
Time: 0.3662s