Nwlapcug.com


Come utilizzare VBA per importare dati da Excel in Access

Come utilizzare VBA per importare dati da Excel in Access


Imparare a utilizzare Visual Basic Applications Edition per importare dati in Access, l'applicazione di database può rendere più dinamica. In VBA, è possibile utilizzare una combinazione di oggetti per aprire una cartella di lavoro di Excel esistente e importare alcuni dati in una tabella di Access. Utilizzare la libreria di oggetti di Microsoft Excel in VBA per aprire la cartella di lavoro. L'oggetto Recordset è utilizzato per aprire una tabella esistente in Access e salvare dati da Excel in esso. Utilizzo di VBA per importare dati può ridurre significativamente la quantità di tempo necessario per importare i dati manualmente.

Istruzioni

1

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

2

Avviare Microsoft Office Access, fare clic su "Database vuoto" e clicca sul pulsante "Crea". Fare clic su "strumenti di Database" e scegliere "Visual Basic" per aprire la finestra di Visual Basic Editor. Fare clic sul menu "Inserisci" e quindi fare clic su "Modulo" per inserire un nuovo modulo di codice. Fare clic sul menu "Strumenti", scegliere "Riferimenti" e seleziona la casella accanto a "Libreria di oggetti di Microsoft Excel < numero versione >."

3

Avviare digitando il seguente codice VBA per creare nuove routine sub:

Private Sub importExcelData()

4

Digitare il comando seguente per creare variabili che si utilizzerà per leggere Excel:

Dim xlApp As Excel. Application

Dim xlBk As Excel. Workbook

Dim xlSht As Excel. Worksheet

5

Digitare il comando seguente per creare variabili che si utilizzerà in Access:

Dim dbRst As Recordset

() Dim dbs As Database

Dim SQLStr As String

6

Digitare quanto segue per definire oggetti di database e inoltre definire la cartella di lavoro di Excel da utilizzare:

Set dbs = CurrentDb

Set xlApp = Excel. Application

Impostare 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 = "Crea tabella 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:

Impostare dbRst = dbs. OpenRecordset("excelData")

dbRst.AddNew

9

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

xlSht.Range("A2"). Selezionare

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

xlSht.Range("B2"). Selezionare

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

dbRst.Update

10

Terminare la procedura digitando il seguente codice VBA:

dbRst.Close

DBS. Chiudere

xlBk.Close

End Sub

11

Premere "F5" per eseguire la procedura. I dati nella cartella di lavoro di Excel sono stati importati solo in vostra tabella di Access.