Duda como importar tablas de una base a otra base utilizando un botón en Access

Mi duda es que quiero introducir un botón en un formulario y que ese botón este programado para que se abra el explorador de archivos, con ello seleccionar la Bd que quiero buscar y que importe la tabla que quiero que se actualice, saludos.

Esa es mi duda ya que me pasado navegando por todo la web, y nada y hay códigos que no comprendo, si me podría orientar con un ejemplo.

2 Respuestas

Respuesta
1

He preparado algo práctico en este ejemplo:

Seleccionamos la base de datos haciendo clic en el botón de la carpeta y hacemos clic en el botón Ver Tablas.

Seleccionamos la tabla a importar:

Hacemos clic en el botón Importar Tabla y listo.

Faltarían unos ajustes, por ejemplo, validar si la tabla ya existe y preguntar si la reemplaza, importarla con otro nombre etc.

Si quiere el ejemplo escríbame a [email protected] favor en el asunto anotar la consulta.

Muchas gracias te envíe un correo: [email protected], saludos

No adjunté el código en el ejemplo porque es algo extenso, toda vez, que lleno el cuadro de lista con las tablas de la base de datos, no tiene sentido ingresar manualmente el nombre de la tabla, esto implica primero conocer el nombre y deja de ser funcional.


muchas gracias, solo que tengo una duda , por que se anexan los registros es la ubicación de la base de datos que selecciono y no la que estoy ejecutando ese momento esa es la duda saludos

Utilizo el código que mando

Julián González Cabarcos, pero me pasa los datos esa base de datos lo que yo quiero es que esa misma que estoy utilizando se muestre esos datos del archivo seleccionado, saludos.

Le dejo este modelo con los 2 casos, importación y exportación de tablas.

Observe que al formulario Exportar Tablas adicioné 2 botones, para seleccionar todas las tablas y para deseleccionarlas. Este formulario le permite exportar solo las tablas seleccionadas. Ya se lo envío a su correo

me sale el siguiente error en la 

Private Function obtenerTablas() As String

y Dim refCatalogo As New ADOX.Catalog

Revise las referencias

Microsoft ActiveX Data Objects 2.5 Libary

Microsoft ADO Ext. 2.8 for DDL and Security

me sale este anuncio el usuario 'admin' de la maquina ha situado la base de datos

Revise las referencias

Microsoft ActiveX Data Objects 2.5 Libary

Microsoft ADO Ext. 2.8 for DDL and Security

Si ya las tienen agregadas las librerías pero me sale el anuncio anterior

Si efectivamente ya le envíe la corrección.

excelente 

Ya encontré el error, es por que tengo un formulario vacío, que ejecuta automáticamente al formulario en login la verdad no se como le haría ahí para ejecutar la ampliación sin que muestre la información de atrás

Me alegro le haya servido.

Respuesta
1

No me queda claro si lo que quieres en que te envíe datos de una tabla de la base en las que estás a otra tabla de otra base de datos, o si por el contrario quieres traer una tabla de otra base a la base en la que estás así que te pongo los dos ejemplos. Supongamos que tengo una base llamada Asignar posición a corredores y que tiene las tablas Corredores y Copia. La primera con registros y la segunda vacía.

Ahora, desde un formulario de otra base voy a decirle que me localice la de asignar. Cuando pongo el cursor en el control Ruta

Se abre un "explorador" para que localice la base en cuestión. Puedes ver que está en azul. Al pulsar Abrir

Me pone la ruta y escribo la tabla a la que quiero que anexe datos de la tabla Clientes de la base en la que estoy y pulso Anexar y la tabla Copia de la base de datos Asignar... me queda como

Por el contrario, si lo que quiero es traer la tabla Corredores a la base en la que estoy y "renombrarla" como Copia, pulso el botón Traer y

En el caso de llevar de los valores de la tabla Clientes de la base donde estoy a la tabla Copia de la base Asignar... el código del evento Al hacer clic de botón Anexar es

Private Sub Comando98_Click()
DoCmd.RunSQL "INSERT INTO " & Me.TablaNex & " ( Nombre, Pais, Ciudad ) IN '" & Me.Ruta & "' SELECT NombreContacto, Pais,Ciudad FROM Clientes"
End Sub

TablaNex es el nombre del cuadro de texto donde pongo a que tabla de la base que aparece en Ruta quiero anexar.

Por el contrario, el código del botón Traer, para importar la tabla Corredores y llamarla Copia en esta base es

Private Sub Comando103_Click()
DoCmd. TransferDatabase acImport, "Microsoft Access", "" & Me.Ruta & "", acTable, "corredores", "copia"
End Sub

Para el "explorador" abre el editor de VB y pulsa Herramientas-Referencias y activa la casilla Microsoft Office XX.X Object Library. Lo de XX.X es por la versión del Office que tengas instalado. Copia la función


End Function

Y en el evento Al recibir el enfoque del cuadro de texto Ruta ponle

Private Sub Ruta_GotFocus()
Ruta = buscaArchivo
End Sub

Si ves que parece complicado y quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando el ejemplo.

Si lo haces, en el asunto del mensaje pon tu alias Brandon Ornelas, ya que si no sé quien me escribe ni los abro.

muchas gracias solo que tengo una duda , por que se anexan los registros es la ubicación de la base de datos que selecciono y no la que estoy ejecutando ese momento esa es la duda saludos

Lo siento, no lo entendí. ¿No sé si la pregunta se refiere a porque se anexan los registros de la tabla Corredores de la base Asignar a la tabla Copia de la base en la que estoy( Nocon) o si es porqué se anexan los registros de la tabla Clientes de la base Nocon a la tabla Copia de la base Asignar.

Podrías aclararmelo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas