Access - campo calculado

 
Vista:

campo calculado

Publicado por Gontzal (61 intervenciones) el 25/05/2006 08:27:03
Hola necesito hacer q en un campo de texto (nº expediente) se guarde siempre un dato mas un numero q se va a ir generando. ejemplo

necesito q el campo contenga siempre n/23/tyu/10- y logo este numero q viene a continuacion partiria de 0 y iria en aumento asi q el primero seria el
n/23/tyu/10-01
n/23/tyu/10-02
n/23/tyu/10-03
n/23/tyu/10-04......y asi continuamente cada vez q vaya a rellenar los datos de ese formulario
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Generar un número secuencial en un campo de texto

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 16:39:47
Puedes utilizar una combinación de campos y código VBA para generar un número secuencial en el campo de texto. Sigue estos pasos:

1. Abre el formulario en el modo de diseño en Microsoft Access.
2. Asegúrate de tener un campo de texto para el número de expediente. Asigna un nombre único a este campo (por ejemplo, "txtNumExpediente").
3. Abre el editor de código VBA del formulario haciendo clic en el botón "Diseño" y luego seleccionando "Código" en la pestaña "Herramientas de base de datos".
4. En el editor de código, ingresa el siguiente código en el evento "Antes de insertar" del formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim numExpediente As String
    Dim numSecuencial As String
 
    ' Generar número secuencial
    numSecuencial = Format(DCount("*", "NombreDeTuTabla") + 1, "00")
 
    ' Construir el número de expediente completo
    numExpediente = "n/23/tyu/10-" & numSecuencial
 
    ' Asignar el número de expediente al campo de texto
    Me.txtNumExpediente = numExpediente
End Sub

Asegúrate de reemplazar "NombreDeTuTabla" con el nombre real de tu tabla donde se almacenarán los datos.

Con este código, cada vez que vayas a insertar un nuevo registro en el formulario, se generará un número secuencial basado en la cantidad de registros existentes en la tabla más uno. El número se formateará con dos dígitos (por ejemplo, "01", "02", etc.) y se concatenará con el prefijo "n/23/tyu/10-". Luego, el número completo se asignará al campo de texto "txtNumExpediente".

Esta solución garantiza que cada nuevo registro tenga un número de expediente único y secuencial en el formato deseado.

Recuerda que esta solución es específica para el problema que mencionaste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar