Estoy tratando de hacer un campo autonumérico que reinicie al cambiar de año con access.

Me trabaja bien en año actual pero al cambiar el año de windows solo me hace el primer cambio a 2015 pero no ve detecta el ultimo registro y se queda en 000012015 no pasa a 000022015. Para mayor claridad les adjunto el link donde aloje el ejemplo. https://mega.co.nz/#!JkNzxDJL!3YiQh3F_ECRHdCZe-gItWRVilqNHZ92c30FYq0Kkesc

Respuesta
1

te dejo aquí el archivo con el código corregido: http://filebig.net/files/JxM7zqn3Ct

El problema lo tenías en que al poner el año al final del Id, no te ordena los registros como debiera (000012014 es menor que 001222013) y al usar DMax para coger el máximo id de la tabla te fallaba.

La solución, ponerle un criterio al DMax, para que coja el id máximo de los que terminan en el año actual ("Right(Id, 4)=" & Year(Date)), y así funciona correctamente.

Otra opción sería poner el año al principio del Id (201400001), y así el código que ya tenías funcionaría haciendo unos pequeños ajustes relativos a las funciones left y right.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas