xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


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.

El código

Sub Importar_Access() '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