[easy_youtube_gallery id=uMK0prafzw0,8Uee_mcxvrw,HcXNPI-IPPM,JvMXVHVr72A,AIXUgtNC4Kc,K8nrF5aXPlQ,cegdR0GiJl4,L-wpS49KN00,KbW9JqM7vho ar=16_9 cols=3 thumbnail=hqdefault controls=0 playsinline=1 privacy=1 title=top wall=1 class=mySuperClass]
Först publicerad: 2009-05-18

Import: Access-tabell till Excel via VBA

ms-accessFö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.

Access som program ingår i Office-sviten och heter numera Microsoft Office Access, vilket betyder att programmet med lätthet sammarbetar med Excel.

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:vbadb.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