Innhold
Lære å bruke Visual Basic for Applications for å importere data til Access kan gjøre databaseprogrammet mer dynamisk. I VBA kan du bruke en kombinasjon av objekter for å åpne et Excel-regneark og importere data til en Access-tabell. Bruk Objektbiblioteket for Microsoft Excel i VBA for å åpne regnearket. Recordset-objektet brukes til å åpne et bord i Access og lagre data importert fra Excel. Ved å bruke VBA for å importere data, reduseres tiden brukt til å gjøre prosessen manuelt.
retninger
Importer data fra Excel til Access ved hjelp av Excel Object Library (Jupiterimages / Photos.com / Getty Images)-
Åpne Microsoft Excel og skriv "data1" i A2 og "data2" i B2. Trykk Ctrl + S for å lagre dokumentet. Lagre regnearket i "C: Temp " med navnet "dataToImport.xlsx". Klikk på Lagre, og lukk Excel.
-
Start Microsoft Access, klikk "New Database" og klikk "Create." Klikk "Database Tools" og klikk "Visual Basic" for å åpne VB-editoren. Klikk på "Sett inn" -menyen og klikk "Modul" for å sette inn en ny kodemodul. Klikk på "Verktøy" -menyen og deretter "Referanser" og merk av i boksen ved siden av "Microsoft Excel Object Library
'. -
Start med å skrive følgende VBA-kode for å opprette en ny underprosedyre:
Privat Sub ImportExcelData ()
-
Skriv inn følgende kode for å opprette variablene som skal brukes til å lese Excel:
Dim xlApp Som Excel.Application Dim xlBk Som Excel.Workbook Dim xlSht Som Excel.Worksheet
-
Skriv inn følgende kode for å opprette variablene som skal brukes i Access:
Dim dbRst Som Recordset Dim dbs Som Database Dim SQLStr Som String
-
Skriv inn følgende kode for å definere bankobjektene og også for å definere hvilket regneark som skal brukes:
Angi dbs = CurrentDb Sett xlApp = Excel.Application Sett xlBk = xlApp.Workbooks.Open ("C: Temp dataToImport.xlsx") Angi xlSht = xlBk.Sheets (1)
-
Opprett et nytt bord med to kolonner i Tilgang for å importere Excel-data. Skriv inn følgende kode for å opprette tabellen ved hjelp av DoCmd-objektet:
SQLStr = "CREATE TABLE excelData (columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)
-
Åpne tabellen du nettopp opprettet ved å bruke et Recordset-objekt. Skriv inn følgende kode for å åpne tabellen og legg til en ny rad:
Sett dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew
-
Skriv inn følgende kode for å få verdiene i Excel-regnearket, lagre dem i 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
-
Fullfør prosedyren ved å skrive følgende VBA-kode:
dbRst.Close dbs.Close xlBk.Close End Sub
-
Trykk på F5 for å utføre prosedyren. Dataene i Excel-regnearket blir importert til Access-tabellen.