Access - Pasar datos automáticamente de una Base de datos Access a otra

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 8 puestos en Access (en relación al último mes)
Gráfica de Access

Pasar datos automáticamente de una Base de datos Access a otra

Publicado por Manuel (2 intervenciones) el 03/11/2019 17:28:21
Buenas, quiero pasar los datos de una Base de datos Access a otra que tiene las mismas tablas (algunas con nombres diferentes pero los mismos campos) y que además contiene otras tablas que deberán quedar vacías (ya que la segunda BD access es una mejora de la primera, con más tablas).

No sé si Access lo puede hacer directamente con la opción de Anexar... o mediante una consulta SQL...el problema es que no sé cómo se va a comportar cuando pase los datos de las tablas de la primera BD a las otras tablas de la segunda BD porque tengo campos autonuméricos en los campos claves.

Tengo en mente otra opción que es copiando y pegando de tabla a tabla pero para ello creo que tengo que quitar las relaciones entre tablas y lo mismo cambiar el campo clave autonumérico.

Son unas 20 tablas las implicadas.

A ver si alguien sabe cuál es la mejor solución. Gracias anticipadas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pasar datos automáticamente de una Base de datos Access a otra

Publicado por Anonimo (3319 intervenciones) el 03/11/2019 18:45:32
Los campos auto-numéricos tienen dos posibles destinos:
.- Distinguir a ese registro como único
.- Lo anterior + ser utilizado como enlace (relación) con otras tablas

En el primer caso poco importa el valor que obtenga como auto-numérico (le basta con ser único en ese conjunto, ni tan siquiera importa su correlatividad)

En el segundo bastaría duplicarlo, o convertir el tipo de dato a numérico (entero largo), al copiar registros a su destino se generara un nuevo valor en la tabla nueva
Ya en destino ambas tablas (la que tiene el auto-numérico y la que se relaciona con ella mediante ese dato), basta utilizar una consulta de actualización que modifique al campo de relación (forzando la relación con el campo copiado antes) cambiando ese valor por el valor del nuevo índice.

Para trasvasar datos cuando hay tablas relacionadas solo hay que tener clara una regla: primero se crean los padres, y luego se llena el libro de familia añadiendo los hijos.

Nada impide generar copia de ambas bases y practicar con ellas un ratito para entender como funciona y como resolver las dificultades.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 8 puestos en Access (en relación al último mes)
Gráfica de Access

Pasar datos automáticamente de una Base de datos Access a otra

Publicado por Manuel (2 intervenciones) el 04/11/2019 10:23:53
Buenas, gracias por tu comentario.
En mi caso, la primera BD de access, de la que quiero migrar los datos a la segunda, los campos autonuméricos son claves que enlazan con otras tablas (y por tanto contienen valores únicos, naturalmente).

Yo había pensado, como me has sugerido, cambiar los campos autonuméricos por enteros largos y copiar tabla por tabla de la BD1 a la BD2 (como también me has apuntado copiando primero cada tabla principal y seguidamente sus tablas que están relacionadas y así sucesivamente con las restantes) pero para ello creo que tengo que quitar las relaciones de las mismas, no sé si se pueden dejar.

Pero no entiendo bien la consulta de actualización. Ésta es para actualizar solo los indices o para traspasar todos los datos de una tabla a otra? Porque yo pensaba copiar y pegar tabla por tabla como te he indicado arriba.

Lo ideal para mí sería hacer una consulta SQL que me evitara ir tabla por tabla copiando y pegando porque son muchas aunque tampoco sería un trabajo excesivo.

Pero es lo que tú dices, hay que hacer pruebas y ver cómo responde dichas Bases de datos con sus las relaciones o como te he dicho eliminar las relaciones, modificar la naturaleza de los campos claves, copiar y pegar y luego volver a poner los campos claves autonuméricos y a poner sus relaciones (de 1 a infinito, de infinito a uno...).

parte-BD1
parte-BD2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar