Mucha gente me pregunta el cuándo, cómo y porqué del uso del tipo de campo auto numérico, así que desde estas líneas voy a intentar explicarlo.
Como su nombre indica, auto numérico, significa que generan números automáticamente, en nuestro caso correlativos empezando por el número 1.
¿Cuándo y por qué debemos usarlos?
Cuando trabajamos con bases de datos relacionales, la mayoría de las tablas deben disponer de un campo cuyo valor sea único para poder identificar inequívocamente un registro concreto. Ejemplos de ello pueden ser:
- En una tabla de clientes, su DNI sería el campo clave, ya que a través de este podemos buscar un cliente concreto, además, nunca existirán dos DNI iguales.
- En una tabla de vehículos de un taller, lo más probable es que su campo clave sea la matrícula del mismo, ya que cada matrícula identifica un vehículo y nunca se repetirán.
- En una tabla de Artículos identificaremos cada uno de ellos con un código que asignaremos nosotros manualmente y que procuraremos no repetir nunca. De esta forma cada artículo tendrá su propio código y que nos será útil para buscar un artículo concreto.
Los tres casos expuestos son muy comunes, pero a veces, tenemos una tabla donde sus registros no disponen de un código que los identifiquen inequívocamente y sin embargo lo necesitamos para poder hacer referencia a ellos. Ejemplos de ello podrían ser:
- Una tabla donde guardar el tipo de IVA aplicado a nuestros clientes:
- Normal – 21%
- Reducido – 10%
- Súper reducido – 8%
- Una tabla donde guardar los distintos tipos de vehículos:
- Utilitario
- Familiar
- Monovolumen
- Furgoneta
- Camión
- Limusina
- Una tabla donde guardar las categorías de nuestros artículos:
- Consumibles
- Discos Duros
- Memorias
- Placas Base
- Ordenadores Sobremesa
- Portátiles
- Televisores
- Telefonía
Como puedes comprobar en estos ejemplos, para estas tablas no tenemos un identificador único y tenemos que inventárnoslo porque nos hace falta.
Y nos hace falta porque al dar de alta un artículo tendremos que identificar a que categoría pertenece y es más práctico tener otra tabla con las categorías disponibles y desde la tabla artículos hacer referencia al número único de la tabla categorías que escribir el texto de la categoría en la tabla artículos. Aconsejo leer el artículo sobre las relaciones.
Para ello siempre ha existido la opción de inventarnos el código único a mano o programarlo mediante código para que se genere según nuestros criterios pero Access nos da la opción de hacerlo sin despeinarnos. Simplemente tenemos que añadir un campo auto numérico.
¿Cómo funciona?
Pues tan simple como añadir un campo nuevo en nuestra tabla y seleccionar como tipo de campo “autonumeración”, Access se encargará de lo demás.
Cada vez que demos de alta un nuevo registro Access sumará una unidad al campo auto numérico, siempre empezando por el número 1, y luego el 2, luego el 3, etc. Aunque esto se puede modificar y cambiar la forma incrementalmente por una aleatoria pero bajo excepciones lo normal es configurarlo como incrementalmente que es como viene por defecto.
Para cambiar la forma en que se genera el número al dar de alta nuevos valores debes situarte en vista diseño, teniendo el campo auto numérico seleccionado, en la parte inferior, pestaña general y cambiar su propiedad «Nuevos valores»
Importante: Debes saber que un número de nuestro campo autonumérico, cuando borramos un registro, ya no se vuelve a usar nunca más. Por ejemplo, estamos dando de alta las categorías de nuestros artículos, voy por la número 7 (Televisores) y me doy cuenta de que la 3 (Memorias) está mal y no la necesito, pues elimino el registro y doy de alta uno nuevo, pues el nuevo llevará el número 8 que es el siguiente de la lista. El número 3 eliminado ya no se volverá a usar.
[pullquote align=»left|center|right» textalign=»left|center|right» width=»30%»]Al borrar un registro con un campo auto numérico, el número que tenía ese registro ya no se vuelve a utilizar.[/pullquote]
Igual pasa si ahora borramos el registro número 8, si a continuación damos de alta un nuevo registro no nos generará el número 8 otra vez como cabría esperar, si no que creará el número 9 que es que tocaba.
Y ya está, no hay más peculiaridades al respecto. Es así de simple. Si te pones a pensar seguro que encuentras mil formas de utilizarlos por la comodidad que nos da evitando tener que programar o inventarnos nuestros códigos únicos.
Auto numéricos especiales: Para terminar el artículo te diré que, en determinadas circunstancias, será necesario un auto numérico mas complejo, por ejemplo, imagínate el nº de una factura, estos suelen ir acompañados del año, algo así “1520/2012, 1521/2012, 1522/2012, 0001/2013, 0002/2013”, en este caso, aunque sigamos necesitando un numero correlativo por factura éste debe ir acompañado del año y encima debe reiniciarse cuando empieza un año nuevo. Para este tipo de auto numéricos es necesario programarlos y diseñarlos para que se comporten así. En una próxima entrega profundizaré en ellos y te explicaré como construirlos con unos sencillos pasos.
Para saber más
Si estás interesado en aprender mas revisa nuestro blog y verás algunos tutoriales que te pueden dar mas luz sobre esta herramienta.
También tenemos disponibles nuestros cursos de iniciación a Microsoft Access y los cursos Avanzados de Microsoft Access.
Solicita información a través de nuestro formulario de contacto si estás interesado en alguno de ellos.
hola. he hecho varios cursos de acces y no consigo trabajar con las tablas. Me faltan aclaraciones que no termino de encontrar. por ejemplo: relacionando BD en los ejmplos del profesor se relacionan tablas a traves de un campo autonumerico con otro numérico. Pues bien, cuando yo creo mis relaciones ESTO NO FUNCIONA,me dice tipo de datos incompatibles. Me hace suponer que re requiere algo más que » datos del mismo tipo» ¿me lo podrias explicar? gracias. Asunción
Si te da ese mensaje es porque al trazar la línea de la relación entre un campo de una tabla y el de la otra no estás apuntando a los campos correctos. Un autonumerico con un numérico te dejará relacionarlos sin problemas.
Hola programador, necesito tu ayuda por favor podrás contactarme? tengo un campo concatenado en acces con valores iguales entre sí, para que sea único necesito agregarle un correlativo que empiece de 1,2,3 según se repita y cada vez que pase a un valor distinto que el corrrlativo nuevamente empiece de 1,2,3 mientras se repita el valor, espero tu ayuda, gracias profe…..