Número de documento según el año.

Hola experto. Quería pedirte tu ayuda en esta situación: tengo una tabla que guarda datos de un documento, particularmente me interesa el Numero de documento y el Año. Al guardar un nuevo documento necesito que le asigne el número siguiente de forma automática. El formato del numero es DAA-9999-2012, y en el campo número de documento guardaba los cuatro dígitos como texto, el año lo manejaba en la máscara, lo hice con un procedimiento que contaba los registros de la tabla y guarda el dato en una variable, al nuevo registro le sumaba uno a la variable y lo guardaba como número de documento, pero resulta que se va a mantener un historial entonces para el año 2013 puede haber un documento con el mismo número.
Inicialmente agregué un campo año para diferenciarlo pero ahora no sé cómo hacer el procedimiento para que al insertar un registro le asigne el número de documento que sigue, pues por ejemplo, pueden haber dos documentos con el número 0020, pero uno del año 2012 y otro del 2013.
Me hice un enredo, no sé si te quedó claro. Ojalá me puedas ayudar.
Gracias

1 respuesta

Respuesta
1

Si el formato DAA-9999-YYY se mantiene puedes obtener el último número (registro) y sumarle 1 ¿cómo?. Ejemplo.

1. Sustraes los cuatro dígitos con Mid("DAA-1235-2012", 5,4) Esto arroja el texto "1235"

2. Convierte el texto a número con Val("1235") Esto arroja 1235

3. Ahora le suma 1. El resultado es 1236

4 Ahora concatenas así: mid("DAA-1235-2012", 1,3) & 1236 & rigth("DAA-1235-2012", 4)

Lo anterior lo puedes hacer con una función que seleccione el último registro y retorne un valor tipo Double. Debes utilizar SQL y DAO o ADO para crear un record set que seleccione el campo y tome el último, aplicas los 3 pasos anteriores, concatenas y listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas