Hoe VBA te gebruiken om gegevens uit Excel naar Access te importeren

Schrijver: Clyde Lopez
Datum Van Creatie: 24 Augustus 2021
Updatedatum: 1 Kunnen 2024
Anonim
import data from excel to access vba on a click
Video: import data from excel to access vba on a click

Inhoud

Visual Basic for Applications leren gebruiken om gegevens in Access te importeren, kan uw databaseapplicatie dynamischer maken. In VBA kunt u een combinatie van objecten gebruiken om een ​​Excel-werkblad te openen en gegevens te importeren in een Access-tabel. Gebruik de Objectbibliotheek voor Microsoft Excel in VBA om het werkblad te openen. Het Recordset-object wordt gebruikt om een ​​tabel in Access te openen en gegevens op te slaan die uit Excel zijn geïmporteerd. Door VBA te gebruiken om gegevens te importeren, wordt de tijd die wordt besteed aan het handmatig uitvoeren van het proces aanzienlijk verkort.


routebeschrijving

Gegevens importeren vanuit Excel naar Access met behulp van de Excel-objectbibliotheek (Jupiterimages / Photos.com / Getty Images)
  1. Open Microsoft Excel en typ "data1" in A2 en "data2" in B2. Druk op Ctrl + S om het document op te slaan. Sla het werkblad op in "C: Temp " met de naam "dataToImport.xlsx". Klik op Opslaan en sluit Excel.

  2. Start Microsoft Access, klik op "Nieuwe database" en klik op "Maken". Klik op "Databasehulpprogramma's" en klik op "Visual Basic" om de VB-editor te openen. Klik op het menu "Invoegen" en klik op "Module" om een ​​nieuwe codemodule in te voegen. Klik op het menu "Extra" en vervolgens op "Verwijzingen" en vink het vakje aan naast "Microsoft Excel-objectbibliotheek '.

  3. Begin met het typen van de volgende VBA-code om een ​​nieuwe subprocedure aan te maken:


    Private Sub-importExcelData ()

  4. Voer de volgende code in om de variabelen te maken die kunnen worden gebruikt om Excel te lezen:

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

  5. Voer de volgende code in om de variabelen te maken die in Access worden gebruikt:

    Dim dbRst As Recordset Dim dbs Als database Dim SQLStr As String

  6. Voer de volgende code in om de bankobjecten te definiëren en ook om te definiëren welk werkblad moet worden gebruikt:

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

  7. Maak een nieuwe tabel met twee kolommen in Access om Excel-gegevens te importeren. Voer de volgende code in om de tabel te maken met behulp van het DoCmd-object:

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


  8. Open de tabel die u zojuist hebt gemaakt met behulp van een Recordset-object. Voer de volgende code in om de tabel te openen en een nieuwe rij toe te voegen:

    Stel dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew in

  9. Voer de volgende code in om de waarden op te halen in het Excel-werkblad, sla ze op in uw tabel en werk de record bij:

    xlSht.Range ("A2") Selecteer dbRst.Fields (0). Value = xlSht.Range ("A2") Waarde xlSht.Range ("B2") Selecteer dbRst.Fields (1) .Value = xlSht. Bereik ("B2"). Waarde dbRst.Update

  10. Voer de procedure uit door de volgende VBA-code te typen:

    dbRst.Sluit dbs.Close xlBk.Close End Sub

  11. Druk op F5 om de procedure uit te voeren. De gegevens in het Excel-werkblad worden geïmporteerd in uw Access-tabel.