Access - Copiar tablas, importar datos, anexar registros

 
Vista:

Copiar tablas, importar datos, anexar registros

Publicado por J (1 intervención) el 01/06/2004 22:47:20
Hola a todos,
Tengo una base de datos en una red y una copia de la misma en otro equipo
fuera de la red....... muy lejos.
He cogido un código que me crea por una función una copia de los datos de
todas las tablas en un directorio (es la información del equipo
desconectado). ¿Cómo puedo hacer ahora para esa información importarla
mediante código a mi equipo? ¿y que me anexe sólo los registros que hayan
sido modificados o nuevos? ¿es posible? Las dos bases de datos tienen tablas
de idéntico nombre y estructura.
Por favor, ayudadme con lo que podáis. Me urge.
Gracias
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
Imágen de perfil de Alejandro

Copiar tablas, importar datos, anexar registros

Publicado por Alejandro (4142 intervenciones) el 06/05/2023 00:46:39
Para importar los datos de la base de datos remota a tu base de datos local en Access y anexar solo los registros modificados o nuevos, puedes utilizar consultas de anexado y el objeto DoCmd.TransferDatabase en Access.

Aquí hay un ejemplo de cómo podrías hacerlo:

1. Primero, asegúrate de tener acceso a la base de datos remota desde tu equipo local. Puede ser a través de una conexión de red o mediante una copia de la base de datos remota en tu equipo.

2. Crea una consulta de anexado en tu base de datos local. Esta consulta debe tener la misma estructura que la tabla en la base de datos remota. Puedes utilizar el diseñador de consultas en Access para crearla. Asegúrate de mapear correctamente los campos correspondientes.

3. En tu código de VBA en Access, utiliza la función DoCmd.TransferDatabase para importar los datos de la base de datos remota a tu base de datos local. Aquí hay un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub ImportarDatos()
    Dim rutaRemota As String
    Dim rutaLocal As String
 
    rutaRemota = "C:\ruta_base_datos_remota.accdb" ' Ruta de la base de datos remota
    rutaLocal = "C:\ruta_base_datos_local.accdb" ' Ruta de la base de datos local
 
    ' Importar datos de la tabla "TablaEjemplo" desde la base de datos remota a la base de datos local
    DoCmd.TransferDatabase acImport, "Microsoft Access", rutaLocal, acTable, "TablaEjemplo", "TablaEjemplo", False, False
 
    ' Opcional: Ejecutar la consulta de anexado para anexar solo los registros modificados o nuevos
    DoCmd.OpenQuery "ConsultaAnexado"
End Sub

Asegúrate de reemplazar "ruta_base_datos_remota.accdb" con la ruta y nombre de tu base de datos remota, y "ruta_base_datos_local.accdb" con la ruta y nombre de tu base de datos local.

En el ejemplo anterior, se importan los datos de la tabla "TablaEjemplo" desde la base de datos remota a la base de datos local. Luego, se ejecuta la consulta de anexado llamada "ConsultaAnexado" para anexar solo los registros modificados o nuevos.

Recuerda que debes adaptar el código a tus necesidades, reemplazando los nombres de las tablas y las rutas de las bases de datos según corresponda.

Espero que esto te ayude a importar los datos y anexar solo los registros modificados o nuevos en tu base de datos local.
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