Zawartość
Nauka korzystania z języka Visual Basic for Applications w celu importowania danych do programu Access może zwiększyć dynamikę aplikacji bazy danych. W języku VBA można użyć kombinacji obiektów, aby otworzyć arkusz programu Excel i zaimportować dane do tabeli Access. Użyj biblioteki obiektów dla programu Microsoft Excel w języku VBA, aby otworzyć arkusz. Obiekt Recordset służy do otwierania tabeli w programie Access i zapisywania danych importowanych z programu Excel. Używanie VBA do importowania danych znacznie skraca czas ręcznego wykonywania procesu.
Instrukcje
Importuj dane z programu Excel do programu Access za pomocą biblioteki obiektów programu Excel (Jupiterimages / Photos.com / Getty Images)-
Otwórz Microsoft Excel i wpisz „data1” w A2 i „data2” w B2. Naciśnij Ctrl + S, aby zapisać dokument. Zapisz arkusz w „C: Temp” o nazwie „dataToImport.xlsx”. Kliknij przycisk Zapisz, a następnie zamknij program Excel.
-
Uruchom program Microsoft Access, kliknij „Nowa baza danych” i kliknij „Utwórz”. Kliknij „Narzędzia bazy danych” i kliknij „Visual Basic”, aby otworzyć edytor VB. Kliknij menu „Wstaw” i kliknij „Moduł”, aby wstawić nowy moduł kodu. Kliknij menu „Narzędzia”, a następnie „Referencje” i zaznacz pole wyboru „Biblioteka obiektów programu Microsoft Excel
'. -
Zacznij od wpisania następującego kodu VBA, aby utworzyć nową podprocedurę:
Private Sub importExcelData ()
-
Wprowadź następujący kod, aby utworzyć zmienne, które będą używane do odczytu programu Excel:
Dim xlApp jako Excel.Application Dim xlBk As Excel.Workbook Dim xlSht As Excel.Worksheet
-
Wprowadź następujący kod, aby utworzyć zmienne, które będą używane w programie Access:
Dim dbRst Jak zestaw rekordów Dim dbs jako baza danych Dim SQLStr As String
-
Wprowadź następujący kod, aby zdefiniować obiekty banku, a także określić, którego arkusza należy użyć:
Set dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open ("C: ExToImport.xlsx") Set xlSht = xlBk.Sheets (1)
-
Utwórz nową tabelę z dwoma kolumnami w programie Access, aby importować dane programu Excel. Wprowadź następujący kod, aby utworzyć tabelę za pomocą obiektu DoCmd:
SQLStr = "CREATE TABLE excelData (columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)
-
Otwórz właśnie utworzoną tabelę, używając obiektu Recordset. Wprowadź następujący kod, aby otworzyć tabelę i dodać nowy wiersz:
Ustaw dbRst = dbs.OpenRecordset ("excelData") dbRst.AddNew
-
Wprowadź następujący kod, aby uzyskać wartości w arkuszu programu Excel, zapisz je w tabeli i zaktualizuj rekord:
xlSht.Range ("A2") Wybierz dbRst.Fields (0) .Value = xlSht.Range ("A2") Wartość xlSht.Range ("B2") Wybierz dbRst.Fields (1) .Value = xlSht. Zakres („B2”). Wartość dbRst.Update
-
Wykonaj procedurę, wpisując następujący kod VBA:
dbRst.Close dbs.Close xlBk.Close End Sub
-
Naciśnij klawisz F5, aby wykonać procedurę. Dane w arkuszu programu Excel zostaną zaimportowane do tabeli Access.