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 w przesyłaniu lub eksportuj dane Excela do Accessa jednym kliknięciem.

Dlaczego tak jest?

Możesz eksportuj dane Excela do Accessa nawet bez 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


Picture of Anson Antony
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!

Wstań do 60 000 Kredyty postaci UberTTS za darmo!!!

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

UberTTS
28
Share to...