เพิ่มทีละ1 ทั้งตัวเลขและตัวอักษร
กระทู้เก่าบอร์ด อ.Yeadram

 726   2
URL.หัวข้อ / URL
เพิ่มทีละ1 ทั้งตัวเลขและตัวอักษร

เรียนอาจารย์ทุกท่าน ข้อมูล เป็น text ขนาด 2 ตัวอักษร ต้องการเพิ่มข้อมูลเรื่อย
โดยเริ่มจาก 01 จนถึง ZZ
01-99
A1-A9
B1-B9
Z1-Z9
AA-AZ
ZA-ZZ
ชื่อตาราง tblPat และ field ชื่อ regno(data type(text,2)
ไม่ทราบว่าต้องเขียนคำสั่งอย่างไรครับ
ขอบคุณทุกคำตอบที่ให้คำแนะนำ หากคำถามไม่ชัดเจนต้องขออภัยด้วย

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

1 @R22899
โค้ดในการสร้างเลขที่ถัดไปคือ
Public Function NextNo(LR As String) As String

Dim L As String
Dim R As String

If LR = "" Then NextNo = "01": Exit Function

L = Left$(LR, 1): R = Right$(LR, 1)

If L >= "0" And L <= "9" Then
    If LR = "99" Then
        NextNo = "A1"
    ElseIf R = "9" Then
        NextNo = Chr$(Asc(L) + 1) + "0"
    Else
        NextNo = L + Chr$(Asc(R) + 1)
    End If
    Exit Function
End If

If R >= "1" And R <= "9" Then
    If LR = "Z9" Then
        NextNo = "AA"
    ElseIf R = "9" Then
        NextNo = Chr$(Asc(L) + 1) + "1"
    Else
        NextNo = L + Chr$(Asc(R) + 1)
    End If
    Exit Function
End If

If R >= "A" And R <= "Z" Then
    If LR = "ZZ" Then
        NextNo = ""
    ElseIf R = "Z" Then
        NextNo = Chr$(Asc(L) + 1) + "A"
    Else
        NextNo = L + Chr$(Asc(R) + 1)
    End If
    Exit Function
End If
End Function


เราเอาเลขล่าล่าสุดที่ได้สร้างไว้แล้ว ใส่เข้าไปในฟังก์ชั่น NextNo() แล้วก็เอาเลขที่คืนมาจากฟังก์ชั่นนี้ไปใส่ฟิลด์ RegNo เท่านั้นเองครับ ก็จะได้เป็น RegNo = NextNo(RegNo) พอดีไม่มีเวลาอธิบายโค้ดนะครับ ลองแกะเอาก่อนแล้วกัน
2 @R22903
ขอบคุณอาจารย์มากครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1715s