Vous êtes sur la page 1sur 2

Importar datos de una BD Access a Excel

Hola a todos, el siguiente post es uno de


los que me ayudo para realizar un trabajo de la universidad, lo encuentro bastante sencillo y
til, la idea es importar la data de una tabla que tenemos en un archivo de Access, y con
ayuda de una macros podremos exportar estos datos a nuestra hoja de Excel. Manos a la
obra.

Tenemos creada una BD Access llamada Empleados.mdb ubicada en nuestra unidad

C:, este archivo a su vez tiene una tabla llamada Employees (puedes usar el nombre del
archivo y de la tabla que sea, en este caso solo es para cuestiones del ejemplo).
Tambien tenemos abierto el Excel y previamente hemos dado algunas libertades en

la seguridad para la ejecucin de Macros, para esto nos dirigimos a Herramientas / Macro /
Seguridad, y elegimo el nivel de seguridad Medio, luego Aceptar.
Habilitamos la barra de herramientas de Formulario para poder sacar un boton,

crear la macro y ejecutarla cada vez que presionamos en ese botn.


Al crear el boton en nuestra hoja de Excel, se abrir una ventan llamada Asignar

Macro, ahi ecribimos el nombre de nuestra Macro, para nuestro caso le llamaron
ImportarAccess y luego le damos en Nuevo.
Se abrir una ventana de Visual Basic donde veremos escrito dos lneas de cdigo

SubImportarAccess() y End Sub.


Dentro de esas dos lneas de cdigo pegamos el siguiente script, el cual har el
trabajo de la conexin y la importacin de la data.
dimensiones
Dim datConnection As ADODB.Connection
Dim recSet As ADODB.Recordset
Dim strDB, strSQL As String
Dim strTabla As String
Dim lngTablas As Long
Dim i As Long
elegir uno de estas dos rutas al archivo Access
strDB = ThisWorkbook.Path & \ & db.mdb
strDB = C:\Empleados.mdb si en otra carpeta
nombre de la tabla del archivo Access
strTabla = Employees
crear la conexin
Set datConnection = New ADODB.Connection
Set recSet = New ADODB.Recordset
datConnection.Open Provider=Microsoft.Jet.OLEDB.4.0; & _
Data Source = & strDB & ;
consulta SQL
strSQL = SELECT * FROM & strTabla &
recSet.Open strSQL, datConnection
copiar datos a la hoja
ActiveSheet.Cells(2, 1).CopyFromRecordset recSet
copiar rtulos
lngCampos = recSet.Fields.Count
For i = 0 To lngCampos 1

ActiveSheet.Cells(1, i + 1).Value = recSet.Fields(i).Name


Next
desconectar
recSet.Close: Set recSet = Nothing
datConnection.Close: Set datConnection = Nothing
Antes de probarlo debemos hacer lo siguiente, en la misma ventana de Visual Basic

nos vamos a Herramientas / Referencias, buscamos la opcin Microsoft ActiveX Data


Objects 2.8 Library le damos check y luego Aceptar.
Cerramos la ventana de Visual Basic, la cual nos llevar nuevamente a nuestra hoja

de Excel, y listo solo nos queda probar la Macro dndole click al botn creado anteriormente.
Veremos que la data de la BD de Access se importa a nuestra hoja.

Vous aimerez peut-être aussi