Importera Access-tabell till Excel via VBA


   Start >  VBA-exempel >  Excel med andra program >   Importera Access till Excel via VBA

Följande Excel VBA-kod tar an sig uppgiften att importera en Access-databas till Excel. Denna import till Excel kan vara praktisk att automatisera via makro om databasen uppdateras löpande och måste föras över till Excel med jämna mellanrum.

Sub Importera_Access()
'variabeldeklarering
Dim datConnection As ADODB.Connection 
Dim recSet As ADODB.Recordset 
Dim strDB, strSQL As String 
Dim strTabell As String 
Dim lngTabell As Long 
Dim i As Long  
'sökväg till Accessdatabasen
strDB = ThisWorkbook.Path & "\" & "db.mdb" 
'strDB = "C:\vba\db.mdb" 'om den ligger i en annan folder
'namn på tabellen i Access
strTabell = "löner_2006"
'skapa kopplingen
Set datConnection = New ADODB.Connection 
Set recSet = New ADODB.Recordset 
datConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
"Data Source =" & strDB & ";" 
'SQL-förfrågan
strSQL = "SELECT * FROM " & strTabell & "" 
recSet.Open strSQL, datConnection 
'kopiera data från Access till Excel
ActiveSheet.Cells(2, 1).CopyFromRecordset recSet
'kopiera kolumnrubriker
lngCampos = recSet.Fields.Count  
For i = 0 To lngCampos - 1   
ActiveSheet.Cells(1, i + 1).Value = recSet.Fields(i).Name  
Next 
'stänga kopplingen
recSet.Close: Set recSet = Nothing 
datConnection.Close: Set datConnection = Nothing 
End Sub