mynewspapers.net

Hur du använder VBA att importera Data från Excel till Access

Hur du använder VBA att importera Data från Excel till Access


Lära sig att använda Visual Basic for Applications för att importera data till Access kan göra ditt databasprogram mer dynamisk. I VBA, kan du använda en kombination av objekt att öppna en befintlig Excel-arbetsbok och importera vissa data i en tabell i Access. Öppna arbetsboken med hjälp av objektbiblioteket för Microsoft Excel i VBA. Recordset-objektet används för att öppna en befintlig tabell i Access och spara data från Excel in i den. Importera data med hjälp av VBA kan avsevärt minska tiden du spenderar importerande data manuellt.

Instruktioner

• Starta Microsoft Office Excel och skriv "data1" i A2 och "data2" i B2. Tryck "Ctrl" och "S" för att öppna "Spara som" dialogen fönster och spara arbetsboken i "C:\Temp\" som "dataToImport.xlsx." Klicka på "Spara" och Stäng Excel.

• Starta Microsoft Office Access, klicka på "Tom databas" och klicka på "Skapa". Klicka på "Databasverktyg", och klicka "Visual Basic" för att öppna fönstret VB redaktör. Klicka på "Infoga"-menyn och klicka sedan på "Modul" om du vill infoga en ny kodmodul. Klicka på "Verktyg"-menyn, klicka på "Referenser" och markera rutan bredvid "Objektbibliotek för Microsoft Excel < versionsnummer >."

• Starta genom att skriva följande VBA-kod för att skapa nya sub-procedur: Private Sub importExcelData()

• Skriv följande för att skapa variabler använder du för att läsa Excel: Dim xlApp som Excel.Application Dim xlBk som Excel.Workbook Dim xlSht som Excel.Worksheet

• Skriv följande för att skapa variabler du vill använda i Access: Dim dbRst som Recordset Dim dbs som databasen Dim SQLStr As String

• Skriv följande för att definiera databasobjekt och även definiera Excel-arbetsboken att använda: Ange dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open("C:\Temp\dataToImport.xlsx") Set xlSht = xlBk.Sheets(1)

• Skapa en ny tabell med två kolumner i Access att importera data från Excel. Skriv följande VBA-kod om du vill skapa tabellen med objektet "DoCmd": SQLStr = "Skapa en tabell excel Data (kolumn en TEXT, kolumn två TEXT)" DoCmd.SetWarnings falska DoCmd.RunSQL (SQLStr)

• Öppna tabellen du just skapade genom att använda ett Recordset-objektet. Skriv följande för att öppna tabellen och lägga till en ny rad: Ange dbRst = dbs. OpenRecordset("excelData") dbRst.AddNew

• Skriv följande för att hämta värden från Excel-arbetsboken, spara dem till ditt bord och uppdatera posten: xlSht.Range("A2"). Välj dbRst.Fields(0). Värde = xlSht.Range("A2"). Värdet xlSht.Range("B2"). Välj dbRst.Fields(1). Värde = xlSht.Range("B2"). Värde dbRst.Update

• Avsluta proceduren genom att skriva följande VBA-kod: dbRst.Close dbs. Nära xlBk.Close End Sub

• Tryck på "F5" att köra proceduren. Data i Excel-arbetsboken har precis importerats till din Access-tabell.