Jak zaimportować wszystkie pliki w folderze do tabeli dostępu

Podziel się teraz:

Dane, dane, dane - bez nich baza danych byłaby całkiem bezużyteczna. Nic więc dziwnego, że jeden z most Często zadawane pytania dotyczące umieszczania tych danych w tabelach programu Access to - jak mogę ułatwić sobie życie, kiedy muszę regularnie importować wiele (i wiele!) plików? Ponieważ jest to tak powszechne zadanie, oczywiście istnieje wiele sposobów skórowania tego konkretnego kota, ale tutaj przyjrzymy się tylko jednemu - moim zdaniem najłatwiejszemu - zwłaszcza jeśli robisz to regularnie, a nawet zaplanowane ramy czasowe. Trochę planowania (i mam na myśli trochę!) I trochę magii VBA i będziesz dobry - czytaj dalej, aby uzyskaćtarprzetrząsać…

Importowanie wszystkich plików Excela w folderze

Importuj plik Excel, aby uzyskać dostępW tym artykule przyjrzymy się zaimportowaniu wielu plików Excela w danym folderze, ale równie łatwo możesz zaimportować pliki csv itp. - wkrótce omówimy, jak zmienić kod do obsługi plików CSV.

Po pierwsze, zdefiniujmy, co chcemy, aby kod robił:

„Chcemy zaimportować wszystkie pliki z danego folderu do istniejącej tabeli - chcemy również określić, czy pliki mają wiersz nagłówka, czy nie”

Wydaje się to dość proste, więc spójrzmy na kod, aby to zrobić:

Sub ImportfromPath(path As String, intoTable As String, hasHeader As Boolean)

Dim fileName As String

'Loop through the folder & import each file
fileName = Dir(path & "\*.xls")
While fileName <> ""
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader
   'check whether there are any more files to import
    fileName = Dir()
Wend

End Sub

Sprawdzam problemy…

uszkodzeniem bazy danych AccessZanim przejdziemy do szczegółów działania tego kodu, należy zauważyć, że powyższy kod nie zawiera funkcji sprawdzania błędów - jest to celowe, aby kod był czytelny, ale zdecydowanie sugeruję dodanie kodu obsługi błędów do bazy danych, aby zachować szanse Uszkodzenie bazy danych dostępu do minimum!

OK - najpierw najważniejsze. Aby kod był jak najbardziej użyteczny w różnych okolicznościach, pytamy o nazwę ścieżki (gdzie są przechowywane pliki), nazwę tabeli, do której chcesz zaimportować te pliki oraz czy wszystkie pliki w tym folderze mają nagłówek czy nie (tzn. czy nazwy pól pojawiają się w pierwszym wierszu arkusza kalkulacyjnego).

Zauważysz, że część kodu wyszukująca pliki - Dir (ścieżka & „\ *. Xls”) - dołącza symbol wieloznaczny i rozszerzenie pliku do podanej ścieżki. Wspominam o tym, ponieważ zmiana kodu byłaby bardzo łatwa, gdybyś na przykład chciał importować tylko pliki zgodne z określoną konwencją nazewnictwa (np. Wszystkie pliki, które mają „styczeń” lub „2017” jako część nazwy pliku ). Mógłbyś, jeśli chcesz, nawet dodać ten filtr jako parametr do wywołania podprogramu.

W każdym razie, jeśli plik spełniający podane kryteria (dowolny plik „.xls” w folderze używającym w tym przypadku), natychmiast próbuje zaimportować ten plik za pomocą polecenia TransferSpreadsheet.

Gdzie zmienić kod, aby odpowiadał Twoim potrzebom…

W tym momencie możesz zmienić kod, aby zamiast importować arkusz kalkulacyjny, importował pliki csv (za pomocą polecenia „TransferText”) itp.

Następnie kod jest zapętlony, dopóki nie będzie już żadnych plików do zaimportowania w tym folderze.

To mały fragment kodu, ale jestem pewien, że taki, którego będziesz używać w kółko!

Wprowadzenie autora:

Mitchell Pond jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym napraw uszkodzenie kodu SQL i doskonałe oprogramowanie do odzyskiwania. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.