Migrar datos de una tabla a otra

Se me daño una tabla en access (perdió el indice) he creado una nueva tabla pero necesito pegar el contenido de la tabla que perdió el indice a la tabla nueva, ya solvente la inserción a partir de un número en adelante con una consulta + instrucción SQL, el problema surge porque la tabla dañada tiene registros eliminados, ej: num_reg 20, 22, 23, cuando pego en la tabla nueva el queda 20, 21, 22 y de ahí en adelante se suman las inconsistencias, será que debo pegar por partes y en el momento de ver la inconsistencia hacer una consulta para incrementar el auto-numérico y así sucesivamente (es algo tedioso pero de ser necesario se hará), cualquier ayuda se agradece de antemano

2 respuestas

Respuesta

Al no saber como es el diseño de las tablas, lo que representa perder el índice( no sé si te refieres a que perdió el id autonumérico, lo que me causa extrañeza ya que ¿Cómo sabes que un registro es el 20,...?. Por lo que voy a suponer que tienes una tabla

Donde puedes ver que faltan el 6, 7 y 8

Y tengo una tabla Otra donde quiero copiar exactamente lo mismo

En este caso, el Id es numérico( luego te explico el inconveniente de los autonuméricos)

En un botón de un formulario,

Al pulsarlo

Ya lo tienes todo pasado y siguen faltando los mismo

en su evento al hacer clic le tengo puesto

Private Sub Comando347_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL " insert into otra select * from clientes"
End Sub

No sé si es eso a lo que refieres, pero sería conveniente que pusieras una imagen de la tabla origen(la dañada) y de la tabla destino.

Los campos autonuméricos tiene muchas ventajas pero también inconvenientes, y uno de esos sucede al eliminar registros, además de perder totalmente el control sobre él, por eso es mejor, a veces, crear el campo Numérico y usar algo como

If me.newrecord then

Idcliente=nz(dmax("idcliente","clientes"))

end if

O cuando eliminas algún registro hacer que se "renumeren" los restantes registros.

Respuesta

Si no tiene información confidencial envíeme la base de datos a [email protected] a ver que puede hacer.

No lo puede hacer con INSERT INTO porque vuelve a quedar en las mismas y entiendo que la idea es mantener el campo Autoumérico 6,7,8. Algo como:

Idcliente

1

2

3

4

5

6 Completar el contenido que había en este valor

7 Completar el contenido que había en este valor

8 Completar el contenido que había en este valor

9

10

Etc

Escríbame a [email protected] y le preparo un ejemplo.

Consulte este link de Microsoft algo le puede servir:

Reset AutoNumber value in Access - Office | Microsoft Docs

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas