Existen varias formas de crear un campo autonumérico en Acess, una de las formas más sencillas es aplicar la función Dmax, veamos como...
Crear campo autonumérico en Access utilizando la función DMax
Aunque Access posee un campo autonumérico por defecto no es conveniente utilizarlo ya que no podemos controlarlo y si borras un registro se quedará el hueco ya que no se puede editar, en la mayoría de los casos en mucho mejor crear el nuestro para así poder controlarlo, vamos a ver como crear un campo autonumérico con la función DMax que incremente en una unidad cada vez que creamos un registro nuevo.
La función DMax no se puede utilizar directamente en la tabla, hay que usarla en un formulario, veamos como funciona ésta interesante función de Access.
La función Dmax lo que hace es averiguar el valor más alto de un campo numérico:
DMax("Campo","Tabla")
lo que hacemos es pasarle a la función los parámetros del campo autonumérico y de la tabla que contiene dicho campo, es decir:
Campo: nombre del campo autonumérico en cuestión.
Tabla: Nombre de la tabla que contiene el campo.
Para que no nos de error cuando no hay ningún registro en la tabla aplicaremos la función NZ de ésta manera:
Nz(DMax("Campo","Tabla"),0)
con ésto hacemos que si no hay ningún registro creado en la tabla nos de un cero, pero de momento solo conseguimos averiguar el valor máximo del campo y lo que pretendemos es que se vaya incrementando por lo que nuestro código quedaría así:
Nz(DMax("Campo","Tabla"),0) +1
Veamos como aplicarlo en un formulario, para ello usaremos el evento Current del form (al activar registro), el código quedaría así:
Private Sub Form_Current()
If Me.NewRecord Then
Me.Control = Nz(DMax("Campo","Tabla"),0) +1
End If
End SubComo se ve hemos aplicado una condición: Si es un nuevo registro entonces aplicamos la función.
Me.Control es el nombre del control de texto en el formulario que enlaza con el campo numérico de la tabla.
Este código lo pegáis directamente en el VB del formulario.
Si hay alguna duda dejamos los comentarios abiertos.
Sección: Trucos programación - Access - Autonumérico
Comentarios
Campo autonumérico
Hola amigos, deseo saber si el truco para crear nuestro propio campo auotnumérico sirve para un formulario que contiene un subformualrio porque yo traté de utilizarlo en un caso de estos y cuando intenté pasar del formulario a subformulario me salió un mensaje que dice: "La clave principal no puede tener un valor null" y eso es cierto; Se podría pensar que debo trasladar a otro campo la clave principal, pero en ese caso se perdería la relación entre el formulario principal y el subformulario.
Espero su respuesta. Gracias
Relaciones
Como clave principal tienes que poner al campo autonumerico que has creado y olvidarte del campo autonumerico que te crea access.