¿Cómo configuro el primer valor de AutoNumber en Access?

9

No necesito restablecer el valor de AutoNumber como esta pregunta , sino que me gustaría establecer primero el número en:

1001

Que luego se incrementa como normal:

1001

1002

1003

...

¿Cómo hago para hacer esto en Access 2010?

James Mertz
fuente
55
No es una respuesta, sino una advertencia: Autonumber no está diseñado para ser administrado de esta manera. He visto a innumerables personas intentarlo. Que no funciona porque el PP va a hacer cosas raras veces de incremento (escribe fallidos todavía incrementan el número, por ejemplo). Autonumber no garantiza que los números de registro sean consecutivos. De hecho, en casos raros ni siquiera garantizará que el número sea único. Es muy útil para crear una clave primaria para una tabla pequeña. Es un poco arriesgado para mesas grandes. Es absolutamente horrible para usar como un campo de datos real. Él
Bacon Bits
@BaconBits ... ¿para qué sirve, entonces, AutoNumber?
James Mertz
Resto del comentario de @ BaconBits: una vez que vea artículos como este cuando algo tiene forma de pera porque la gente espera que Autonumber sea algo que no es. Si necesita generar números de esta manera, escriba las consultas y demás en la base de datos para hacerlo usted mismo correctamente.
Stack Overflow está muerto

Respuestas:

16

Aunque Access no ofrece esta función de forma nativa, se puede lograr mediante una consulta, como la siguiente:

CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)

Esto creará una sola tabla que se llama "TableThatIncrements" con una sola columna, llamada "Id". Ahora puede usar el editor de tablas para agregar propiedades y / u otras columnas.

Cambio

AUTOINCREMENT(x,y)

para satisfacer sus necesidades, donde xestá el número de incremento inicial y yes el número con el que se incrementa. Entonces AUTOINCREMENT(100,5)producirá: 100, 105, 110, 115, etc.

Si desea modificar una tabla existente, use la siguiente consulta. Asegúrese de que la pestaña de la tabla específica esté cerrada para que Access pueda bloquearla y modificarla.

ALTER TABLE TableThatIncrements
   ALTER COLUMN Id AUTOINCREMENT(1001,1)

Puede ejecutar una consulta en Access haciendo lo siguiente:

  1. Vaya a la pestaña "Crear" y haga clic en "Diseño de consulta"
    ingrese la descripción de la imagen aquí

  2. Simplemente cierre la ventana que aparece que le pide que seleccione tablas, no necesitamos eso.

  3. Vaya a la pestaña "Diseño" y haga clic en el botón con la flecha hasta que aparezca una pantalla de entrada de texto. (Por defecto, dice SELECT;).
    ingrese la descripción de la imagen aquí

  4. Elimine el texto predeterminado y pegue la consulta anterior.

  5. Haga clic en "Ejecutar".
    ingrese la descripción de la imagen aquí

Stack Overflow está muerto
fuente
buena respuesta, pero eso crea una nueva tabla ... ¿o me equivoco? ¿Se puede hacer esto dentro de una tabla ya creada?
James Mertz
@KronoS Actualizó mi respuesta
desbordamiento de pila está muerto
2

1- Crear tabla1 2- Ir a crear -------> consulta de diseño. 3- Cerrar la tabla 4- Ir a SQl desde arriba. 5- Pasado este código.

ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)

Mahoma
fuente
Esto parece ser lo mismo que la respuesta aceptada, excepto por el uso de una palabra clave diferente (y la otra está mucho mejor formateada). ¿Es tu respuesta realmente diferente? ¿Puedes explicar cómo? ¿Es mejor tu respuesta? ¿Por qué? Por favor no responda en los comentarios;edite su respuesta para que sea más clara y completa.
Scott
@Scott En realidad son un poco diferentes: ALTER COLUMN Id AUTOINCREMENT (1001,1) y ALTER COLUMN [Id] COUNTER (8982,1) ven la palabra AUTOINCREMENT y COUNTER pero ambos funcionan como se esperaba
willy wonka
1
@willyw: Correcto; Dije "lo mismo ... excepto por el uso de una palabra clave diferente ".
Scott
@Scott ops sí, tienes razón ... Estaba leyendo demasiado rápido, lo siento ;-)
willy wonka
1

Este sitio web tiene una manera muy simple de comenzar su número automático con el número que desee: http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp

Crea una consulta con una expresión que le dice al campo de autonumeración que cambie

"Primero, ejecute esta consulta:

INSERTAR EN tblName (ID) SELECCIONE 999 COMO Expr1

Donde tblName es el nombre de la tabla, e ID es el nombre del campo AutoNumber.

Luego, ejecute una segunda consulta para eliminar la fila que insertó:

ELIMINAR DE tblName DONDE ID = 999;

(Alternativamente, puede simplemente abrir la tabla y eliminar manualmente la fila que insertó).

Ahora, al siguiente registro agregado a la tabla se le asigna el valor 1000.

Este método funciona con una nueva tabla, o con una tabla cuyo AutoNumber aún no ha alcanzado el valor de Semilla. (Por supuesto, el campo ID para las filas existentes no se cambiará, pero las filas posteriores comenzarán con 1000). "

Jorge
fuente
0

Debe engañar a Access porque supone que no está interesado en un número automático diferente al que proporciona.

Deberá comenzar la tabla con el número automático personalizado, que requerirá cierta configuración. Pero una vez que está funcionando, puedes continuar agregando desde allí.

Google "inicia el cambio automático del número de acceso" y encontrará varias opciones para hacerlo. La mayoría confía en crear una consulta anexa para modificar el campo.

Cree la primera tabla que contiene el campo de tipo de contador que desea comenzar en otro número. No ingrese ningún registro. Cree una segunda tabla, con un solo campo de tipo de número entero largo que tenga el mismo nombre que el campo de contador en la primera tabla. Cree un registro en la segunda tabla ingresando un número uno menos que el número en el que desea iniciar el contador en la primera tabla. Cree una consulta de anexos, para agregar un registro en la segunda tabla a la primera tabla y ejecútelo. Elimine la segunda tabla, elimine el registro que agregó a la primera tabla y comience a ingresar datos.

De MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm

Si no tiene ganas de crear una consulta de anexos, siempre puede configurar la tabla y copiar y pegar 1000 líneas de datos ficticios de Excel, eliminar los registros hasta llegar al número 1001 y continuar desde allí.

ACTUALIZACIÓN: Agregar explicación por razón

La razón por la que el número automático solo se establece para comenzar desde 1 es que el campo de número automático debe usarse como un campo de referencia interno y, en la buena práctica de la base de datos, generalmente no debe usarse en ninguna forma públicamente visible. Se utiliza en casos en los que aún no hay un elemento único en una tabla determinada para crear una entrada única por la cual se puede buscar e indexar la tabla.

music2myear
fuente
Tiene que haber una manera más fácil de hacer esto ...
James Mertz
Supongo que la buena noticia es que si necesita crear varias tablas con dicho número automático, simplemente puede crear una, guardarla en un archivo de base de datos de "plantilla" y simplemente copiarla en nuevos archivos de base de datos según lo necesite.
music2myear
0

Este es un hilo bastante antiguo, pero aún aparece como uno de los tres principales resultados de búsqueda de Google.

Una razón por la que un usuario puede querer cambiar el valor de un campo de número automático es corregir un error causado por la edición de la base de datos. Cuando un administrador puede querer hacer algunos cambios importantes en un front-end de una base de datos, ese administrador puede hacer copias de todas las tablas relacionadas y redirigir una copia de desarrollo del front-end a estos back-end. Si los cambios son suficientes, puede reemplazar la copia de producción del front-end con su copia, redirigiendo todas las tablas vinculadas después de la prueba.

No hay problema, verdad? Bueno, el incremento del número automático permanece con el front end. Entonces, si el lado de producción simplemente incrementó el número automático en 50 o 500 o 5000 números mientras el administrador estaba trabajando en la copia, entonces la nueva copia de producción volverá a intentar esos mismos números y no podrá ingresar elementos en esos campos, uno a la vez, hasta que se pone "en claro". Copie 50, 500 o 5000 filas de datos de Excel e intente pegarlo. Se producirá un error en cada línea (asegúrese de suprimir más mensajes cuando aparezca), pero el número automático aumentará en esa cantidad y estará bien. ir de nuevo Si está utilizando los números automáticos de esta manera, se recomienda aumentar los números a la base de datos de producción antes de sobrescribirlo con su copia de desarrollo.

Esta es también una manera de comenzar su número automático en algo más alto que 1. Al igual que en los viejos tiempos de establecer el contador de visitas a la página en 17.479 en su página de inicio de Geocities, cuando realmente solo se visitó 16 veces. Por ti.

RunsWithScissors
fuente
0

Una manera simple de lograr algo similar es tener un campo Autonumber (por ejemplo, "ID") y un segundo campo Calculado (por ejemplo, "ItemID") e ingresar la fórmula "1000+ [ID]" para el campo calculado. Este nuevo campo ahora rastreará automáticamente el campo Autonumber, pero comenzará desde 1001 en lugar de 1.

Brent
fuente
0

Creo que podría alcanzar su rango de incremento personalizado creando primero una tabla oculta que mantendrá la brecha inicial de incrementos automáticos comenzando desde cero hasta su elección, por ejemplo. esa tabla mantendrá el 0 a 1050. Luego comenzará en incrementos de 1055, 1060, 1065, etc. Luego, ocultará esta porción de datos de la tabla. Espero que esto ayude. Parece que Access fue diseñado para verse inicialmente desde cero, ya que surgirán conflictos.

ssurjie
fuente