Come utilizzare VBA per importare dati da Excel in Access

July 10

Come utilizzare VBA per importare dati da Excel in Access


Imparare a utilizzare Visual Basic, Applications Edition per importare i dati in Access può rendere l'applicazione di database più dinamico. In VBA, è possibile utilizzare una combinazione di oggetti per aprire una cartella di lavoro di Excel esistente e importare determinati dati in una tabella in Access. Utilizzare la libreria di oggetti di Microsoft Excel in VBA per aprire la cartella di lavoro. L'oggetto Recordset viene utilizzato per aprire una tabella esistente in Access e salvare dati da Excel in esso. Utilizzando VBA per importare i dati in grado di ridurre in modo significativo la quantità di tempo che passate importare i dati manualmente.

istruzione

1 Avviare Microsoft Office Excel e digitare "data1" in A2, e "data2" in B2. Premere il tasto "Ctrl" e "S" per aprire la "Salva con nome" finestra di dialogo e salvare la cartella di lavoro in "C: \ Temp \" come "dataToImport.xlsx." Fai clic su "Salva" e chiudere Excel.

2 Avviare Microsoft Office Access, fare clic su "Database vuoto" e fare clic sul pulsante "Crea". Fai clic su "Strumenti di database," e fare clic su "Visual Basic" per aprire l'editor della finestra di VB. Fare clic sul menu "Inserisci" e quindi su "Modulo" per inserire un nuovo modulo di codice. Fai clic sul menu "Strumenti", fai clic su "Riferimenti", e selezionare la casella accanto a "<numero di versione> Libreria oggetti di Microsoft Excel."

3 Inizia digitando il seguente codice VBA per creare nuova routine Sub:

Private Sub importExcelData ()

4 Digitare la seguente per creare le variabili che si intende utilizzare per leggere di Excel:

Dim xlApp Come Excel.Application

Dim xlBk Come Excel.Workbook

Dim xlSht Come Excel.Worksheet

5 Digitare la seguente per creare le variabili si intende utilizzare in Access:

Dim dbRst Come Recordset

DBS fiochi come database

Dim SQLStr As String

6 Digitare la seguente per definire gli oggetti del database e definire anche la cartella di lavoro di Excel da utilizzare:

Set dbs = CurrentDb

Set xlApp = Excel.Application

Set xlBk = xlApp.Workbooks.Open ( "C: \ Temp \ dataToImport.xlsx")

Impostare xlSht = xlBk.Sheets (1)

7 Creare una nuova tabella con due colonne in Access per importare dati da Excel. Digitare il seguente codice VBA per creare la tabella utilizzando l'oggetto "DoCmd":

SQLStr = "CREATE TABLE Exceldata (columnOne TESTO, columnTwo TESTO)"

DoCmd.SetWarnings False

DoCmd.RunSQL (SQLStr)

8 Aprire la tabella appena creata utilizzando un oggetto Recordset. Digitare quanto segue per aprire la tabella e aggiungere una nuova riga:

Set dbRst = dbs.OpenRecordset ( "Exceldata")

dbRst.AddNew

9 Digitare quanto segue per ottenere i valori dalla cartella di lavoro di Excel, salvarli sul tavolo e aggiornare il record:

xlSht.Range ( "A2"). Selezionare

dbRst.Fields (0) .Value = xlSht.Range ( "A2"). Valore

xlSht.Range ( "B2"). Selezionare

dbRst.Fields (1) .Value = xlSht.Range ( "B2"). Valore

dbRst.Update

10 Terminate la procedura digitando il seguente codice VBA:

dbRst.Close

dbs.Close

xlBk.Close

End Sub

11 Premere il tasto "F5" per eseguire la procedura. I dati nella cartella di lavoro di Excel è stato appena importato nel tabella di Access.