ตัวอย่างนี้เพื่อให้เห็นภาพว่า มันสามารถกำหนดค่าให้โดยแยกหมวดหมู่ของ หน่วยงานนะครับ โดยหาค่า Dlast ของแต่ละหน่วยงาน
บน Module
Function getDigits(s As String) As String
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
getDigits = retval
End Function
ที่ TextBox ใน Event Click ชื่อ Serial ใส่คำสั่งดังนี้
Private Sub Serial_Click()
If Me.NewRecord = True Then
Dim strOldID As String
Dim lngCurrentNumber As Long
Dim lngNextNumber As Long
Dim strNextNumber As String
Dim strNewID As String
If IsNull(DLast("[JobDetail]", "Query1")) Then
Me.JobDetail = "0000"
Else
strOldID = DLast("[JobDetail]", "Query1")
Debug.Print strOldID
lngCurrentNumber = getDigits(strOldID)
Debug.Print lngCurrentNumber
lngNextNumber = lngCurrentNumber + 1
Debug.Print lngNextNumber
strNextNumber = String(4 - Len(CStr(lngNextNumber)), "0") & CStr(lngNextNumber)
Debug.Print strNextNumber
strNewID = strNextNumber
Debug.Print strNewID
Me.JobDetail = strNewID
End If
End If
End Sub
หมายเหตุ
Me.JobDetail คือ ชื่อ textbox ที่เราจะเพิ่มค่า +1 /ส่วนที่ไม่ที Me.นำหน้าคือชื่อ Field นะครับ พอดีผมตั้งชื่อเหมือนกัน
Query1 คือคิวรี่ที่เราจะหาค่า ของ JobDetail
เลข 4 คือจำนวนค่าที่จะแสดงจำนวน 0 ที่จะแสดง
ตัวอย่างด้านล่าง