Empezar de 0 al comenzar el año.
Hola,
Estoy desarrollando una aplicación en Access 97, sin posibilidad de migrar a otras versiones superioeres.
Tengo que ir generando un número por cada registro (documento) que se genera.
Para ello lo numero año/número (Ej. 2002/00001, 2002/0002, ....).
Al llevar la barra (/), el campo es tipo string.
Lo hago obteniendo el año del sistema (Format(Date, "yyyy")) y agregándole una barra (& "/" & )
Y por último cuento los registros que existen en la tabla ((Format(tabla. RecordCount + 1, "00000"))).
No uso un autonumérico porque si no se graba un registro el autonumérico sigue corriendo y se generan números salteados. (Ej. 0001, 0002, 0004, 0005, 0007, 0008...) Y yo quiero que sean consecutivos, sin saltos.
El problema que tengo es ¿cómo hacer que el año que viene comience a contar otra vez desde 0.
Es decir, que acabamos 2002 con 12500 registros (2002/12500) y el siguiente registro en 2003 sea 2003/00001?.
Supongo que lo suyo es poner un campo año, y luego hacer un recordset con SELECT año = format (date, "yyyy")
Pero sería una redundancia el añadir otro campo con la misma información.
Si lo hago leyendo todos los registros (string) y comprobando sus 4 primeras posiciones = año_actual, sería lentísimo
A la hora de generar el número en cuestión.
¿Alguna sugerencia para obtener ese dato sin redundar información y con "rapidez"?
Gracias
Estoy desarrollando una aplicación en Access 97, sin posibilidad de migrar a otras versiones superioeres.
Tengo que ir generando un número por cada registro (documento) que se genera.
Para ello lo numero año/número (Ej. 2002/00001, 2002/0002, ....).
Al llevar la barra (/), el campo es tipo string.
Lo hago obteniendo el año del sistema (Format(Date, "yyyy")) y agregándole una barra (& "/" & )
Y por último cuento los registros que existen en la tabla ((Format(tabla. RecordCount + 1, "00000"))).
No uso un autonumérico porque si no se graba un registro el autonumérico sigue corriendo y se generan números salteados. (Ej. 0001, 0002, 0004, 0005, 0007, 0008...) Y yo quiero que sean consecutivos, sin saltos.
El problema que tengo es ¿cómo hacer que el año que viene comience a contar otra vez desde 0.
Es decir, que acabamos 2002 con 12500 registros (2002/12500) y el siguiente registro en 2003 sea 2003/00001?.
Supongo que lo suyo es poner un campo año, y luego hacer un recordset con SELECT año = format (date, "yyyy")
Pero sería una redundancia el añadir otro campo con la misma información.
Si lo hago leyendo todos los registros (string) y comprobando sus 4 primeras posiciones = año_actual, sería lentísimo
A la hora de generar el número en cuestión.
¿Alguna sugerencia para obtener ese dato sin redundar información y con "rapidez"?
Gracias
1 respuesta
Respuesta de ohmygood
1