Access - Generar numeracion en base a varios parametros??

 
Vista:

Generar numeracion en base a varios parametros??

Publicado por ArmyBoy (26 intervenciones) el 25/08/2005 16:12:30
Hola:

Tengo una duda se las voy a tratar de explicar:

Me piden que genere un numero de identificacion a partir de una busqueda es decir que se construya en base a muchas especificaciones.

Este numero es de control de procedimiento y no puede ser repetido y quieren que el sistema te lo de en forma automatica y que te lo guarde como un campo pero esta algo complicado porque yo nunca ehh hecho esto de generar una numeracion.

El formato es el siguiente

CIF-071205-A-C
en donde
CIF es texto
071205 es la fecha del dia para este caso es 12-Jul-05 es decir debe de agarrar la fecha del dia actual.
-A es una variable que se debe de ir cambiando es decir puede existir otro numero que se genere el mismo dia por ejemplo CIF-071205-B-C unicamente con el cambio de A a B o C ...Z
Y la -C es solo texto

Entonces el procedimiento es este necesito que al darle a un boton de nuevo registro se genere esta numeracion (es decir que busque en todos los registros si ya hay una igual y que si la hay cambie el valor inicial como en en ejemplo anterior de A a B ...Z en la literal en donde este)

Pero que agarre la fecha de ese dia ... yo se que con la sentencia =Now() te trae la fecha actual pero las mascaras de entrada del Access no conciden como lo quiero mmddaa lo más parecido que hay es la de mm/dd/aa ese es un problema para mi???

Y el otro seria como hacer el procedimiento que busque si hay uno igual y si lo hay que cambie a la letra siguientee?


Haber si no los confundi...
Ojala me puedan ayudar con esto
Aqui esta mi correo por si es necesario: [email protected]
Gracias por su tiempo

Atte
ArmyBoy
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

Generación automática de un número de identificación con especificaciones

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 16:51:49
Para generar automáticamente un número de identificación basado en varias especificaciones en Access, puedes seguir los siguientes pasos:

1. Abre el formulario en modo de diseño en Access.

2. Agrega un control de texto al formulario donde deseas mostrar el número de identificación generado.

3. Abre la ventana de propiedades del control de texto y ve a la pestaña "Datos".

4. En la propiedad "Origen del control", escribe el siguiente código:

1
=[Prefijo] & "-" & Format(Date(), "mmddyy") & "-" & BuscarSiguienteLetra() & "-C"

En este código, "Prefijo" es el valor fijo que deseas incluir al comienzo del número de identificación y "-C" es el texto fijo al final.

5. Crea una función VBA llamada "BuscarSiguienteLetra" para buscar la siguiente letra disponible según los registros existentes en la base de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Function BuscarSiguienteLetra() As String
    Dim letra As String
    Dim rs As DAO.Recordset
    Dim sql As String
    Dim maxLetra As String
 
    letra = "A" ' Primera letra posible
 
    sql = "SELECT MAX(Mid(Numeracion, Len(Numeracion) - 1, 1)) AS MaxLetra " _
        & "FROM TuTabla " _
        & "WHERE Mid(Numeracion, 1, 8) = 'CIF-" & Format(Date(), "mmddyy") & "'"
 
    Set rs = CurrentDb.OpenRecordset(sql)
 
    If Not rs.EOF Then
        maxLetra = rs("MaxLetra")
        If Not IsNull(maxLetra) Then
            letra = Chr(Asc(maxLetra) + 1) ' Siguiente letra
        End If
    End If
 
    rs.Close
    Set rs = Nothing
 
    BuscarSiguienteLetra = letra
End Function

Asegúrate de reemplazar "TuTabla" con el nombre de tu tabla que almacena los registros y "Numeracion" con el nombre del campo que contiene el número de identificación.

6. Guarda el formulario y ciérralo.

Con estos pasos, al hacer clic en el botón de nuevo registro, se generará automáticamente el número de identificación según las especificaciones que has mencionado. La función "BuscarSiguienteLetra" busca el último registro del día actual en la tabla, extrae la última letra y devuelve la siguiente letra disponible para utilizarla en el número de identificación generado.

Ten en cuenta que la función "Format(Date(), "mmddyy")" formatea la fecha actual al formato "mmddyy". Puedes ajustar el formato según tus necesidades.

Espero que esta solución te ayude a generar el número de identificación automáticamente en Access.

¡Saludos!
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