¿Cómo puedo eliminar un registro concreto en un documento creado con el programa Microsoft Access?

Yo quiero saber como eliminar un registro con el numero 3 por ejemplo, y que a continuación el registro siguiente el 4 pase hacer el nº 3.
1- Juan
2- Luis
3-Andres
Si borro el 2- luis
Que el 3- andres sea el 2-andres.

1 Respuesta

Respuesta
1
Ji. Típica pregunta. Venga, vamos a ello...
Primero, lo primero. Los autonuméricos del access no están pensados para hacer una ordenación continua de cara al usuario, es decir, tendrás este tipo de problemas si tu idea es hacer un listado con un número de orden. En cambio, su utilidad es que internamente te asegures de que cada registro de una tabla tiene un identificador interno.
Aún así, la gente lo usa mucho, porque son muy fáciles de utilizar. Pero claro, te pasa esto.
Sólo hay unas pocas formas de reiniciar un autonumérico, y son todas demasiado incómodas para que las uses frecuentemente. A saber:
- Si compactas la base de datos (Herramientas/Utilidades/Compactar) el contador del autonumérico se reinicia al mayor dato almacenado más uno. En tu caso, si borraras el 3, normalmente el siguiente se guardaría como 4 a pesar de haber borrado el 3, SALVO que entre medias compactes la base de datos, en cuyo caso esa posición queda libre. Pero esto no aprovecha huecos intermedios
- También se reinicia el autonumérico si borras el campo desde la vista diseño, guardas, y lo vuelves a crear. En este caso, todos los registros se numeran de forma consecutiva.
Fíjate que te dará problemas si tienes relaciones entre tablas, pues al borrar el campo se borra también las relaciones asociadas.
Ah! Y por si no quedara claro, concreto que no se puede modificar un campo autonumérico mediante código ni consultas de actualización. Es de sólo lectura.
Por lo que...
-Si estás utilizando el número en un informe o consulta, intenta mostrar un contador calculado en el momento por registro, en vez del identificador interno.
-O bien, crea un nuevo campo para almacenar el número, que no sea autonumérico sino SOLO numérico. Te complicará la vida para almacenarlo, pero con un poco de esfuerzo, puedes manejarlo como quieras pues lo podrás renumerar, por ejemplo con una consulta de actualización. Como idea, en el formulario donde introduces nuevos registros, en la propiedad 'Valor predeterminado' del campo le puedes poner
=nz(dmax("elnombredelcampo";"tutabla");0)+1
Que por defecto hará que se comporte como un autonumérico.
Ah! Y si lo tuyo es realmente simple, puedes utilizar lo que te dije antes de borrar el campo y recrearlo, o bien copiar todos los datos de la tabla a una hoja excel. Luego los borras de la tabla, compactas, abres la tabla, ocultas la columna del autonumérico, seleccionas todos los datos MENOS la columna del autonumérico en la excel y le haces un 'Pegar registros' en la tabla. Te los numerará consecutivamente. Debes tener la columna del autonumérico oculta o no funcionará (lo tienes en los menús)
Uf, cuanto rollo. Suerte. ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas