Como generar un numero autonumérico dentro de un campo texto con una cadena de caracteres

buen día de antemano agradezco el apoyo y la verdad el servicio que prestan es de admirarse mi problema el siguiente tengo un campo tipo texto en el cual los primeros 3 dígitos son parte de un id seguido de números el problema es que solo cuenta hasta el 9999 por ejemplo el EPR9999 es el ultimo numero que puedo generar me gustaría ampliar ese rango con un dígito mas para tener 3 letras y 5 números , el código que empleo es el siguiente el problema es que cuando llega a 10000 sigue seleccionando el 9999 como mayor

Private Sub Lista_DblClick(Cancel As Integer)
Dim Valor, valor1
Selección = Lista
Form.Refresh
Set q1 = CurrentDb.OpenRecordset("SELECT max(ID) AS mayor from FORMULARIO Where ID like '" & Forms!Nuevos!Selección & "*'")
Valor = q1.Mayor
If IsNull(Valor) Then
Propuesto = Selección & "0001"
Mayor = "NULO"
Else
If Asc(UCase(Mid(Valor, Len(Valor), Len(Valor)))) >= 65 And Asc(UCase(Mid(Valor, Len(Valor), Len(Valor)))) <= 90 Then
valor1 = Mid(Valor, 1, 3) & Format(Mid(Valor, 4, Len(Valor) - 4) + 1, "0000")
If (Len(valor1)) > 7 Then
MsgBox "La Serie de ID´s ha terminado comience una nueva", vbCritical, "Fin de la Serie"
Propuesto = "ERROR"
Mayor = q1.Mayor
Else
Mayor = q1.Mayor
Propuesto = valor1
End If
Else
valor1 = Mid(Valor, 1, 3) & Format(Mid(Valor, 4, Len(Valor) - 3) + 1, "0000")
If (Len(valor1)) > 7 Then
MsgBox "La Serie de ID´s ha terminado comience una nueva", vbCritical, "Fin de la Serie"
Propuesto = "ERROR"
Mayor = q1.Mayor
Else
Propuesto = valor1
Mayor = q1.Mayor
End If
End If
End If
setID.Enabled = True
End Sub

Añade tu respuesta

Haz clic para o