Jak używać VBA do importowania danych z Excela do programu Access

Autor: Mark Sanchez
Data Utworzenia: 2 Styczeń 2021
Data Aktualizacji: 14 Listopad 2024
Anonim
import data from excel to access vba on a click
Wideo: import data from excel to access vba on a click

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)
  1. 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.

  2. 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 '.

  3. Zacznij od wpisania następującego kodu VBA, aby utworzyć nową podprocedurę:


    Private Sub importExcelData ()

  4. 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

  5. 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

  6. 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)

  7. 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)


  8. 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

  9. 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

  10. Wykonaj procedurę, wpisując następujący kod VBA:

    dbRst.Close dbs.Close xlBk.Close End Sub

  11. Naciśnij klawisz F5, aby wykonać procedurę. Dane w arkuszu programu Excel zostaną zaimportowane do tabeli Access.