Slik bruker du VBA til å importere data fra Excel til Access

Forfatter: Mark Sanchez
Opprettelsesdato: 1 Januar 2021
Oppdater Dato: 1 Juli 2024
Anonim
Slik bruker du VBA til å importere data fra Excel til Access - Artikler
Slik bruker du VBA til å importere data fra Excel til Access - Artikler

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)
  1. Å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.

  2. 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 '.

  3. Start med å skrive følgende VBA-kode for å opprette en ny underprosedyre:


    Privat Sub ImportExcelData ()

  4. 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

  5. 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

  6. 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)

  7. 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)


  8. Å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

  9. 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

  10. Fullfør prosedyren ved å skrive følgende VBA-kode:

    dbRst.Close dbs.Close xlBk.Close End Sub

  11. Trykk på F5 for å utføre prosedyren. Dataene i Excel-regnearket blir importert til Access-tabellen.