Kod VBA do eksportowania danych Excel do Access

Kod VBA do eksportowania danych Excel do Access
Spis treści

Eksport danych z Excela do Access za pomocą VBA (obrazy i kod)

Co to jest?

Ten kod VBA pomaga przesłać lub wyeksportować dane Excel do programu Access za pomocą jednego kliknięcia.

Dlaczego tak jest?

Dane z Excela można eksportować do Access bez konieczności otwierania bazy danych Access.

Jak wyeksportować dane z programu Excel do programu Access





Krok 1: Otwórz Przewyższać Arkusz i przejdź do kreatora kodu VBA (Alt + F11) i Otwórz nowy moduł

.Eksport danych Excel do programu Access

Krok 2: Skopiuj i wklej poniższy kod.

Const TARGET_DB = "myDB.accdb" 'Zastąp 'myDB.accdb' swoją nazwą bazy danych, upewnij się, że zarówno Excel, jak i Access DB znajdują się w tej samej ścieżce.
Sub PushTableToAccess()
Dim cnn As ADODB.Connection
Dim MyConn
Dim rst As ADODB.Recordset
Dim i As Long, j As Long
Dim Rw As Long

Sheets("Nazwa arkusza").Activate Zastąp "Nazwę arkusza" nazwą arkusza programu Excel.
Rw = Range("A65536").End(xlUp).Row
'Podaj zakres danych arkusza programu Excel

Set cnn = New ADODB.Connection
MyConn = ThisWorkbook.Path & Application.PathSeparator & TARGET_DB

Z cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open MyConn
Koniec z

'Zastąp "tblMyExcelUpload" nazwą tabeli w programie Access.

Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
rst.Open Source:="tblMyExcelUpload", ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
Options:=adCmdTable

'Załaduj wszystkie rekordy z Excela do Access.
For i = 2 To Rw
rst.AddNew
Dla j = 1 do 7
rst(Cells(1, j).Value) = Cells(i, j).Value
Następny j
rst.Update
Następny i

' Zamknij połączenie
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing

Napis końcowy

Krok 3Kliknij przycisk Uruchom lub F5 (możesz również wstawić przycisk / kształt w arkuszu Excela, a następnie kliknąć prawym przyciskiem myszy i przypisać to makro do uruchamiania za każdym razem). Przesyłanie zakończone!!! Rekordy programu Excel zostały pomyślnie przesłane do programu Access, otwórz tabelę bazy danych programu Access i sprawdź dane.

Eksport danych Excel do programu Access

Notatka: Upewnij się, że opcja "Microsoft ActiveX Data Objects Library" jest włączona w menu NarzędziaReferencje (numer używa najnowszej wersji [6.1 w chwili pisania tego posta]).

Adodb_Export Excel Data To AccessPin


Anson Antoni
Anson Antoni
Anson jest współautorem i założycielem w www.askeygeek.com. Uczenie się czegokolwiek nowego zawsze było jego pasją, ASKEYGEEK.com jest wynikiem jego pasji do technologii i biznesu. Posiada dziesięcioletnie wszechstronne doświadczenie w outsourcingu procesów biznesowych, finansach i księgowości, technologiach informatycznych, doskonałości operacyjnej i inteligencji biznesowej. W trakcie swojej kadencji pracował dla takich organizacji jak Genpact, Hewlett Packard, M*Modal i Capgemini, zajmując różne role i obowiązki. Poza biznesem i technologią jest miłośnikiem kina, który spędza razem godziny, oglądając i ucząc się kina, a także Twórcy Filmowego!

9 odpowiedzi

  1. Witam wszystkich;

    Czy te dwie lokalizacje ścieżek muszą być takie same, aby połączenie ADODBC działało? To znaczy ThisWorkbook.Path i Target_DB.
    Polecenie z góry:
    ThisWorkbook.Path & Application.PathSeparator & TARGET_DB

    Lub, czy Workbook.Path może być powiedzmy
    "C:\MyExcelFiles\MyWorkbook.xlsx", a baza danych Access TARGET_DB powinna znajdować się w pliku
    "C:\MyDataBases\MyAccessDB.accdb"?

    Mój kod działa, gdy zarówno skoroszyt programu Excel, jak i baza danych programu Access znajdują się w tym samym folderze, ale gdy znajdują się w różnych folderach (odpowiednio zorganizowana struktura bibliotek), kod kończy się niepowodzeniem w punkcie .Open MyConn.

    Dziękujemy wszystkim,
    Mario,

  2. rst(Cells(1, j).Value) = Cells(i, j).Value

    złamania kodu tutaj
    ———-
    Błąd 3265
    Nie można znaleźć elementu w kolekcji odpowiadającego żądanej nazwie lub numerowi porządkowemu.
    ———-

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Gratulacje!
Zrobiłeś to,
Nie zamykaj!
Podaj swoją szansę na wygraną 100 000 kredytów na postacie UberTTS
Dziękujemy za wizytę!

To wyskakujące okienko nie pokaże zależy od Ciebie Ponownie!!!

Jajko wielkanocne UberTTS 100 tys
28
Share to...