Consecutivos con letras y números

Tengo una inquietud necesito generar un consecutivo que contenga letras y números exactamente así RS000001, RS000002, Lo que hice fue en el cuadro de texto de un campo autonumérico en la mascara de entrada puse esto
"RS"000000, y cuando ingreso registros en el formulario principal aparentemente funciona porque si incrementa pero el problema es que en el cuadro de texto me muestra así
RS____1, RS____2.
Por algún motivo no me muestra los 0 (Ceros).

1 Respuesta

Respuesta
1

Las máscaras de entrada sólo tienen efectos "visuales", pero no almacenan valor alguno. Es decir, por ejemplo, que si tu máscara de entrada es ##/## en el formulario verás, cuando lo escribas, 12/13, pero el valor que se almacena es 1213, sin la barra.

Lo que tienes que hacer para generar el consecutivo como el que quieres, y que se guarde en un campo de una tabla es:

1.- Tener un campo autonumérico (llamémosle [Id])

2.- Tener un campo de texto, llamémosle [CodigoFin]

3.- Supongamos que en tu formulario tienes un campo de introducción obligatoria, por ejemplo [CampoX]. Necesitamos ese campo porque el autonumérico asigna valor en cuanto se introduce alguna información en el registro (es decir, a posteriori, no a priori).

4.- En el evento después de actualizar de [CampoX] generas el siguiente código:

...

Private Sub ...
'Declaramos las variables
Const cabecera as string = "RS"
Dim vNum as Long
Dim vCod as String
Dim vLargo as Integer
'Cogemos el valor del autonumérico
vNum = me.Id.value
'Sacamos la longitud del autonumérico
vLargo=Len(vNum)
'Determinamos cuántos ceros debemos añadir
Select Case vLargo
Case 1
vCod = cabecera & "00000" & vNum
Case 2
vCod = cabecera & "0000" & vNum
Case 3
vCod = cabecera & "000" & vNum
Case 4
vCod = cabecera & "00" & vNum
Case 5
vCod = cabecera & "0" & vNum
Case 6
vCod = cabecera & vNum
Case Else
MsgBox "No puede crearse el código porque la longitud sería incorrecta",vbExclamation,"NO POSIBLE"
Exit Sub
End Select
'Escribimos el código obtenido
me.CodigoFin.Value=vCod
End Sub

...

Y listo.

Hola gracias por responder tengo dos inquietudes una el campox es un campo independiente, o lo debo crear en la tabla, segundo en el formulario debo cargar los campos de texto id y codigo fin?? o solo el campox?, porque lo que yo hice fue el campox hacerlo independiente y ponerlo en el formulario con los campos id y codigo fin, pero no pasa nada me sale un error, gracias

Todos los campos que te indico deberían estar creados en la tabla, y sobre esa tabla estaría creado el formulario de introducción de registros.

El problema radica en que al utilizar un autonumérico, para que genere valor, ha de haber una introducción de información, y por eso te hablaba del campoX.

Además, si no los creas en la tabla, ¿cómo quieres guardarlos? Los controles independientes no guardan valores en ninguna parte más que en el propio formulario y para el momento en que el formulario está activo. Después... plufff

Un saludo,

Neckkito

http://neckkito.siliconproject.com.ar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas