Sådan bruger du VBA til at importere data fra Excel til Access

Forfatter: Clyde Lopez
Oprettelsesdato: 24 August 2021
Opdateringsdato: 20 November 2024
Anonim
Sådan bruger du VBA til at importere data fra Excel til Access - Artikler
Sådan bruger du VBA til at importere data fra Excel til Access - Artikler

Indhold

At lære din database applikation mere dynamisk at lære at bruge Visual Basic til Applications til at importere data til Access. I VBA kan du bruge en kombination af objekter til at åbne et Excel-regneark og importere data til en Access-tabel. Brug objektbiblioteket til Microsoft Excel i VBA for at åbne regnearket. Recordset-objektet bruges til at åbne en tabel i Access og gemme data importeret fra Excel. Ved at bruge VBA til at importere data reduceres den tid, der bruges til at gøre processen manuelt.


retninger

Importer data fra Excel til Access ved hjælp af Excel Object Library (Jupiterimages / Photos.com / Getty Images)
  1. Åbn Microsoft Excel og skriv "data1" i A2 og "data2" i B2. Tryk på Ctrl + S for at gemme dokumentet. Gem regnearket i "C: Temp " med navnet "dataToImport.xlsx". Klik på Gem, og luk derefter Excel.

  2. Start Microsoft Access, klik på "Ny database" og klik på "Opret." Klik på "Databaseværktøjer" og klik på "Visual Basic" for at åbne VB-editoren. Klik på menuen "Indsæt" og klik på "Modul" for at indsætte et nyt kode modul. Klik på menuen "Funktioner" og derefter "Referencer" og markér feltet ud for "Microsoft Excel Object Library '.

  3. Start med at indtaste følgende VBA kode for at oprette en ny subprocedure:


    Privat Sub ImportExcelData ()

  4. Indtast følgende kode for at oprette de variabler, der skal bruges til at læse Excel:

    Dim xlApp Som Excel.Application Dim xlBk Som Excel.Workbook Dim xlSht As Excel.Worksheet

  5. Indtast følgende kode for at oprette variablerne, der skal bruges i Access:

    Dim dbRst Som Recordset Dim dbs Som Database Dim SQLStr Som String

  6. Indtast følgende kode for at definere bankobjekter og også for at definere hvilket regneark der skal bruges:

    Indstil dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open ("C: Temp dataToImport.xlsx") Indstil xlSht = xlBk.Sheets (1)

  7. Opret en ny tabel med to kolonner i Access for at importere Excel-data. Indtast følgende kode for at oprette tabellen ved hjælp af DoCmd-objektet:

    SQLStr = "CREATE TABLE excelData (columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)


  8. Åbn det bord, du lige har oprettet ved at bruge et Recordset-objekt. Indtast følgende kode for at åbne tabellen og tilføj en ny række:

    Indstil dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew

  9. Indtast følgende kode for at få værdierne i Excel-regnearket, gem dem i din tabel og opdater posten:

    xlSht.Range ("A2") Vælg dbRst.Fields (0) .Value = xlSht.Range ("A2") Værdi xlSht.Range ("B2") Vælg dbRst.Fields (1) .Value = xlSht. Range ("B2"). Værdi dbRst.Update

  10. Udfør proceduren ved at indtaste følgende VBA-kode:

    dbRst.Close dbs.Close xlBk.Close End Sub

  11. Tryk på F5 for at udføre proceduren. Dataene i Excel-regnearket importeres til din adgangstabel.