ขอเพิ่มเติมอีก 1 รูปแบบนะครับ
ข้อดีคือ ไม่ว่ารูปแบบของเลขบัตรประชาชน จะเป็นแบบ มี - กั้น เช่น 1-2345-67891-23-4
หรือจะแบบมีเฉพาะตัวเลข 1234567891234 ก็ตาม ตัวเลขที่ระบุลองในช่องก็จะแสดงได้ตรงครับ
อาจจะยากกว่าหน่อยนะครับ ลองศึกษาดู
ที่ตัวรายงาน กำหนดให้แสดง เลขบัตรประชาชน โดยดึงเลขบัตรประชาชน(PID) มาจาก ID ของ Record นั้น
ส่วนชื่อ textbox ทั้ง 13 อันนั้นผมตั้งชื่อว่า P1 ถึง P13
Private Sub Report_Load()
If Not IsNull(DLookup("PID", "Table1", "ID =" & Me.ID & "")) Then
Dim myPID As String
Dim i As Integer
myPID = onlyDigits(DLookup("PID", "Table1", "ID =" & Me.ID & ""))
For i = 1 To 13
If Not IsNull(myPID) Then
Me("P" & i) = Mid(myPID, i, 1)
End If
Next
End If
End Sub
ที่ Module สร้าง Function ไว้ใช้งานได้หลายๆที่
Function onlyDigits(s As String) As String 'สร้าง Fuction ให้เก็บค่าเฉพาะตัวเลขไว้ครับ
Dim retval As String
Dim i As Integer
retval = ""
For i = 1 To Len(s)
If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Then
retval = retval + Mid(s, i, 1)
End If
Next
onlyDigits = retval
End Function
ตัวอย่างด้านล่างคับ ถ้าจะใช้แค่ตัวรายงานดู Code จากตัวรายงานได้เลยครับ ใช้การ Dlookup จาก Record มาแสดง เลย