Hvordan bruke VBA til å importere data fra Excel til Access
Lære å bruke Visual Basic for Applications for å importere data til Access kan gjøre databaseapplikasjon mer dynamisk. I VBA, kan du bruke en kombinasjon av objekter for å åpne en eksisterende Excel-arbeidsbok og importere visse data til en tabell i Access. Bruk Microsoft Excel objektbiblioteket i VBA til å åpne arbeidsboken. Den Recordset objektet brukes til å åpne en eksisterende tabell i Access og lagre data fra Excel inn i den. Bruke VBA til å importere data kan redusere tiden du bruker på å importere data manuelt.
Bruksanvisning
1 Start Microsoft Office Excel og skriv "data1" i A2, og "data2" i B2. Trykk "Ctrl" og "S" for å åpne "Lagre som" dialog vinduet og lagre arbeidsboken i: ". DataToImport.xlsx" "C \ Temp \" som Klikk "Lagre" og nær Excel.
2 Start Microsoft Office Access, klikker du på "Blank Database" og klikk på "Create" -knappen. Klikk "Databaseverktøy" og klikk "Visual Basic" for å åpne redigeringsvinduet VB. Klikk på "Insert" -menyen og klikk "Module" å sette inn en ny kode modul. Klikk på "Verktøy" -menyen, klikk på "Referanser", og merk av for "Microsoft Excel <versjonsnummer> Object Library."
3 Start med å skrive følgende VBA-kode for å opprette nye sub prosedyre:
Private Sub importExcelData ()
4 Skriv inn følgende for å lage variabler du vil bruke til å lese Excel:
Dim xlApp Som Excel.Application
Dim xlBk Som Excel.Workbook
Dim xlSht Som Excel.Worksheet
5 Skriv inn følgende for å lage variabler du vil bruke i tilgang:
Dim dbRst As Recordset
Dim dbs som database
Dim SQLStr As String
6 Skriv inn følgende for å definere databaseobjekter og også definere Excel arbeidsbok å bruke:
Sett dbs = CurrentDb
Sett xlApp = Excel.Application
Sett xlBk = xlApp.Workbooks.Open ( "C: \ Temp \ dataToImport.xlsx")
Sett xlSht = xlBk.Sheets (1)
7 Lag en ny tabell med to kolonner i Access for å importere data fra Excel. Skriv inn følgende VBA-kode for å opprette tabellen ved hjelp av "DoCmd" objekt:
SQLStr = "CREATE TABLE excelData (columnOne TEKST, columnTwo TEKST)"
DoCmd.SetWarnings falske
DoCmd.RunSQL (SQLStr)
8 Åpne tabellen du nettopp opprettet ved hjelp av en av Recordset objekt. Skriv inn følgende for å åpne bordet og legge til en ny rad:
Sett dbRst = dbs.OpenRecordset ( "excelData")
dbRst.AddNew
9 Skriv inn følgende for å få verdier fra Excel-arbeidsbok, lagre dem på tabellen og oppdatere posten:
xlSht.Range ( "A2"). Velg
dbRst.Fields (0) .Value = xlSht.Range ( "A2"). Verdi
xlSht.Range ( "B2"). Velg
dbRst.Fields (1) .Value = xlSht.Range ( "B2"). Verdi
dbRst.Update
10 Avslutt prosedyren ved å skrive følgende VBA-kode:
dbRst.Close
dbs.Close
xlBk.Close
End Sub
11 Trykk "F5" for å kjøre prosedyren. Dataene i Excel-arbeidsboken har nettopp blitt importert til Access-tabell.