Poner letras a codigo autonumerico en access

Tengo el siguiente codigo que me ayuda a simular un autonumerico

Option Compare Database
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then
Response = True
MsgBox "Lamentablemente el Registro, " _
& vbCrLf & " Numero " & Me.NumerodeRegistro _
& vbCrLf & " Ha sido ingresado, " & vbCrLf & _
" El Numero que le corresponde es " & vbCrLf & _
" este = " & _
Nz(DMax("[NumerodeRegistro]", "TablaCualquiera"), 0) + 1, _
vbCritical + vbOKOnly, "E R R O R . . ."
Me.NumerodeRegistro = Nz(DMax("[NumerodeRegistro]", "TablaCualquiera"), 0) + 1
End If
End Sub
Private Sub Form_Current()
If NewRecord Then
On Error Resume Next
Me!NumerodeRegistro.DefaultValue = _
Nz(DMax("[NumerodeRegistro]", _
"TablaCualquiera"), 0) + 1
End If
End Sub

Este continua el autonumerico desde donde lo ponga si le doy 1 continua 2,3,4,5 y asi y si le doy 100 continua 101,102.103.104 etc lo que quisiera es poder agregarle al final o al principio no importa una letra digamos A01. A02 .A03 etc o si le agredo B que me aparezca B01, B02. B03 etc

¿Es posible hacer esto en el codigo que les acabe de dar?

2 respuestas

Respuesta
2

Hernán: Si el Campo de la Tabla donde guardas ese Auto es de tipo Numérico, que según veo lo es, no te dejará.

Opción:

Un nuevo Campo que puede llamarse NRegAlfa y poner>>

Me.NRegAlfa = "A" & Format(Me!NumerodeRegistro,"000")

Un saludo >> Jacinto

Pero en que parte del código lo agrego? 

Hernán: Justo debajo de la línea que ya tienes de :

Me!NumerodeRegistro.DefaultValue = _
Nz(DMax("[NumerodeRegistro]", _
"TablaCualquiera"), 0) + 1

Y reparando en ella. ¿Qué sentido tiene el .DefaultValue?

Yo pondría >> Me. NumerodeRegistro a secas o Me. NumerodeRegistro.Value porque el Value es la propedad por defecto de un TextBox. Un saludo >> Jacinto

¡Gracias! Compadre muchas gracias me funciono a la perfección pero digamos hay alguna forma de cambiar la letra en el código sin que haya que abrir el código como tal digamos me gustaría poder cambiar la letra cuando digamos valla en 9999A pasarla a 0001B se puede cambiar la letra? 

Osea que con un botón pueda cambiar los datos del auto numérico espero hacerme entender gracias jacinto por tu ayuda 

Hernán: La verdad es que no acabo de entender lo que pretendes y si veo claro lo que de forma expresa comentas de un cambio de letra cada N números, pero al comentar lo del botón me has despistado.

Si lo que quieres es elegir en un momento dado una letra a la que adjudicar un Número, mira si quieres el Ejemplo 19 de éste enlace de JMMiralles ( un saludo al autor)

https://jmmirallesortega.wixsite.com/accessyvba/ejemplos-y-descargas 

Ya lo verás que de acuerdo a la serie que elijas te genera un correlativo. Saludos >> Jacinto

Respuesta
1

Podría ser solo una mascara "A" al numero en si, para convertirlo en personalizado el formato

Pero que siga teniendo función de Número ejemp. Sumas etc.

Selection.NumberFormat = """A""General"  

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas