Ayuda con los registros de access 2007

Estoy haciendo una base de datos con access 2007 con solo dos campos, uno es autonumérico y el otro de texto, pues resulta que me he dejado un registro por poner y me gustaría saber como puedo ponerlo en su lugar, o sea, por ejemplo supongamos que va entre el registro 17 y el 18, ¿cómo hacer para meterlo entre los dos?, ya que cuando pongo insertar registro me envía al final de la base de datos y al ser el primer campo autonumérico pues ya no esta situado donde debe el registro. Se que podría, por ejemplo, poner el primer campo en vez de autonumérico poner numérico, pero lo tengo así para evitarme el escribir cada numero de registro.
No se si me he explicado bien pero si alguien tiene idea.

1 Respuesta

Respuesta
1
Me temo que no se puede.
Es imposible cambiar el valor autonumérico a un registro. Lo único que puedes hacer es cambiar el valor del otro campo, pero eso te obliga a que si quieres meter un registro en otros dos, tendrías que mover todos los registros siguientes una posición, es decir, cambiar el valor de todos los campos posteriores (el segundo campo, el que puedes cambiar)
Así son las cosas, lo siento.
Hola, perdona que te moleste de nuevo, pero en el caso de que en vez de autonumérico, fuese de otro tipo el campo, ¿habría posibilidad de añadir otros registros como te indicaba antes? ¿Cómo?.
De no ser posible ¿hay alguna base de datos más flexible con los registros, para poder moverlos de una posición a otra?, como por ejemplo la incluida en open office, o no se pueden modificar las posiciones de los registros.
Un saludo.
Si es de otro tipo, por ejemplo un numérico normal, sí que sería posible. Solo que a todos los siguientes campos deberías incrementarles su ID en 1 unidad para insertar de nuevo un id ya usado (intercalar como dices)
En tu ejemplo: si tienes el 17 y 18 y quieres meter uno en medio, el nuevo sera el 18, y el antiguo 18 tendrá que ser el 19 (y si existe el 19 o siguientes, lo mismo)
Lo bueno es que puedes hacerlo automáticamente con SQL:
Quiero meter un nuevo 18:
// Aumento los registros del 18 en adelante
UPDATE tabla
SET ID = ID +1
WHERE ID > 17;
// meto el nuevo 18
INSERT INTO tabla (ID, VALOR)
VALUES (18,'lo que sea');
Espero que te sirva,
un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas