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

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…

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