Importar tabla Access a Excel
Aquí explicamos cómo importar una tabla de una base de datos Access, a una hoja Excel.
Esta maniobra también puede realizarse desde los menús del propio programa Access. ¿Pero qué pasa si tenemos que acceder a un archivo Access, y no tenemos el programa Access instalado? Entonces podemos recurrir al código VBA, y programar una macro.
Además, esta importación tarda poquísimo - muy interesante si importamos muchas tablas al día.
Código VBA
'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:\vba\db.mdb" 'si en otra carpeta
'nombre de la tabla del archivo Access
strTabla = "salarios_2003"
'crear la conexión
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 rótulos
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
End Sub


