ให้เตือนว่าคีย์ตัวเลขไม่ครบนะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,884   6
URL.หัวข้อ / URL
ให้เตือนว่าคีย์ตัวเลขไม่ครบนะ

ต้องการทำตารางข้อมูลพนักงานค่ะ แล้วทำช่อง เลขประจำตัวประชาชน กำหนดชนิดข้อมูลเป็นText และกำนดขอบเขตข้อมูลเป็น 13 การคีย์ข้อมูลจริง ๆ แล้ว ถ้าคีย์ไม่ถึง 13 ตัว อยากให้มี pop up เตือนขึ้นมาประมาณว่า ใส่ตัวเลขไม่ครบ ไม่ทราบว่าต้องกำหนดกฏการตรวจสอบว่าอย่างไรคะ หรือต้องกำหนดชนิดข้อมูลหรือขอบเขตข้อมูลเป็นอย่างอื่นคะ .. ขอบคุณค่ะ

6 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R12771
สามารถกำหนด Input Mask ใน property ของ Field ตอน design table ได้ครับ
เช่นกรณีเลขประจำตัวประชาชนก็พิมพ์
0-0000-00000-00-0
(แล้ว access จะแปลงเป็น 0\-0000\-00000\-00\-0 ให้)

หรือจะกำหนดที่ property ของ textbox ก็ได้
2 @R12772
ขอบคุณค่ะ จะลองทำดูนะคะ
3 @R12773
เย้ ๆๆๆ ได้แล้วค่ะ ขอบคุณค่ะ
4 @R12806
ที่น่าตรวจสอบอีกอันนึงคือ เลขประชาชน 13 หลักที่กรอก ถูกต้องตามหลักการ ของกระทรวงมหาดไทยหรือไม่....(ถ้าสนใจ ก็จะได้นำ Code มาศึกษาดูครับ)
5 @R12811
น่าสนใจครับ ขอบคุณล่วงหน้าเลยครับ
6 @R12851
ตรวจสอบเลขประชาชน 13 หลักที่กรอก ถูกต้องตามหลักการ ของกระทรวงมหาดไทยครับ....

ชื่อตาราง                                 = OFFICERS
ชื่อฟิลด์ที่ตรวจสอบ                   = PID
-------------------------------------------
ชื่อฟอร์ม                                  = OFFICERS
ชื่อออบเจ็คที่ใช้ (Text Box)        = PID
เหตุการณืที่ใช้                          = LostFocus หรืออย่างอื่น


Private Sub PID_LostFocus()

Dim Cal As Integer
Dim Sum As Integer
Dim Last_Card As Integer
Dim chk As Integer
Dim C2 As Integer
Dim C1 As Integer

num = PID.Text
If Len(Trim(num)) = 13 Then
                    Sum = 0
                    For i = 1 To 12
                        Cal = Mid(Trim(num), i, 1) * (13 - (i - 1))
                        Sum = Sum + Cal
                    Next
                    C1 = 11 - (Sum Mod 11)
                    Last_Card = Right(C1, 1)
                    C2 = Mid(Trim(num), 13, 1)
                    If Last_Card <> C2 Then
                        If (MsgBox("เลขประจำตัวประชาชนผิดพลาด" & Chr(13) & Chr(10) & "ต้องการแก้ไขใหม่หรือไม่", vbYesNo, "ตรวจสอบ) = vbYes) Then
                     
                                    Chk_PID = True
                                    PID.SetFocus
                            Else
                                    FNAME.SetFocus
                            End If
                    Else
                                 FNAME.SetFocus
                    End If
Else
MsgBox "เลขประชาชน 13 หลักมีไม่ครบ", vbOKOnly, "ตรวจสอบ"
Chk_PID = True
PID.SetFocus

End If

End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2507s