Como Crear un autonumérico secuencial

El otro día encontré un articulo sobre este tema y un código:

  1. ublicFunction NumId() As Long  
  2. Dim Numero As Long  
  3. Numero = Nz(DMax("Campo","Tabla"),0) + 1  
  4. NumId = Numero  
  5. EndFunction  

El problema es que no se donde y como he de poner este código. Alguien podría ayudarme.

2 Respuestas

Respuesta
1

Lo suyo es que lo pongas en un módulo independiente, así podrás llamarlo desde cualquier sitio de tu aplicación.

Por cierto es:

  1. Public Function NumId() As Long  

Creo que tu explicación es correcta, pero no tengo nociones de código y de como he de hacerlo.

si tienes algún ejemplo sencillo con este caso, me lo puedes mandar a [email protected] y podre verlo y entenderlo.

Gracias.

Jose Antonio,

Si no tienes nociones de código lo mejor es empezar por el principio que es aprender a usar Access y su código. Te recomiendo este curso por entregas de Eduardo Olaz, es muy sencillo y fácil se seguir y una vez que lo hayas realizado tú mismo comprobarás el gran salto adelante que habrás dado.

[url=http://www.mvp-access.com/foro/curso-de-access-y-vba_forum19.html ] Curso de Eduardo Olaz[/url]

¡Gracias! 

Seguiré tú consejo.

Saludos.

He iniciado la lectura del enlace que me facilitas, solo un problema no encuentro la entrega 01

¡Gracias! 

Solo quisiera pedirte una opinión más, en Access ya realice un curso  a distancia y presencial y me desenvuelvo mas o menos bien, lo que me falta es código VBA, Crees que siguiendo este curso podre mejorar mis aplicaciones y entender algunos de los códigos que comentan en el foro.

Saludos. 

Échale un vistazo al índice, cuando acabes el curso (que no hay que tardar mucho) tendrás todos esos conocimientos, ... ¡Ya lo creo que merece la pena!

Respuesta
2

Una vez que has valorado la respuesta, me permito aconsejarte otra solución. Verás, el inconveniente de los autonumericos es que si eliminas un registro, por ejemplo el 15, el siguiente registro que escribas no será el 15, sino el 16. Más adelante cuando vas a la tabla, quizá no te acuerdes de si lo habías borrado o por error del sistema hay un fallo.

Por eso creo que lo mejor es usar un campo numérico y en la vista diseño del formulario, en el cuadro de texto, en su propiedades-eventos-al recibir el enfoque crees un procedimiento de evento y entre Private Sub y End Sub escribe

nombrecuadrotexto=form.currentrecord

Así, cuando el cursor llegue a ese cuadro te pondrá el número del registro actual, y si por ejemplo borras el 15, el siguiente registro que escribas será el 15.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas