Daniel Martyn

Daniel Martyn SEM & Web Analytics
at Hotelopia
(Hotelbeds)

Temat: mass import csv

witam,

wiecie może w jaki sposób zrobić mass import danych z wszystkich plików csv na raz z tego samego folderu? Każdy plik ma inną nazwę, jest nim data powstania pliku, codziennie jest dodawany nowy plik. Tak więc w jednym folderze mam 30 plików CSV z całego miesiąca i chciałbym je zaimportować wszystkie za jednym zamachem do tej samej tabeli w Access.

please help...

konto usunięte

Temat: mass import csv

Witaj,

Pliki mają taką samą strukturę (zakładam, że lądują w folderze z jakiegoś programu). Jeden plik jak importujesz? Kreatorkiem czy kodem? Jeśli kodem, to masz sprawę ułatwioną, ponieważ jedyne co musisz zrobić, to w VBA sobie odczytać listę plików z Twojego folderu i w pętli po kolei każdy plik wczytać.

Jeśli opisałem coś niejasno lub nie ewentualnie dasz rady z tym importem, to daj znać.
Daniel Martyn

Daniel Martyn SEM & Web Analytics
at Hotelopia
(Hotelbeds)

Temat: mass import csv

Póki co ładuję każdy plik oddzielnie, kreatorem. Najpierw z pierwszego tworzę tabelę, a potem kolejne pliki dołączam do tej samej tabeli. I tak 30 plików dla każdego miesiąca... Dlatego mam już dość tej syzyfowej pracy i zastanawiam się jak to zautomatyzować. Kolega mi wspominał, że tego w Access się nia da zrobić, że trzeba do tego jakiś program DTS i dopiero wtedy się da coś zdziałać.

Programować VBA w Accessie jeszcze nie próbowałem, póki co dopiero tworzę moje pierwsze dashboardy w Excelu z pomocą makr.

Więc jakie jest najłatwiejsze rozwiązanie?

konto usunięte

Temat: mass import csv

DTS jako skłądnik SQL Server-a - owszem, możesz użyć. Lecz jeśli nie masz zainstalowanego i używanego SQL Servera, to instalowanie tego środowiska po to, żeby wykonywać to, co chcesz robić (czyli import plików o jednakowej strukturze z podanego folderu) jest wyważaniem drzwi w momencie, gdy masz klucz. Tak to widzę, ale niech wypowiedzą się też inni ;)

IMHO najlepszym rozwiązaniem będzie napisanie kawałka kodu, który pobierze listę plików i każdy z nich wrzuci do utworzonej przez Ciebie tabeli.

Jeśli chcesz, to mogę Ci jutro tu wrzucić przykładowy kod, który przerobisz sobie dla swojego konkretnego przypadku.

Ponieważ piszesz, że nie działasz w VBA, to opiszę Ci kod tak, żebyś mógł dostosować go sobie do swojego przypadku.
Daniel Martyn

Daniel Martyn SEM & Web Analytics
at Hotelopia
(Hotelbeds)

Temat: mass import csv

Super, dzięki za odpowiedź. Będę czekał na wskazówki. W międzyczasie w necie znalazłem taki kawałek kodu VBA:

http://www.ozgrid.com/forum/showthread.php?t=71318

Zedytowałem go do moich potrzeb, załadowałem do Accessa i nic. Nie wiem jak odpalić to makro w Accesie. W Excelu jest to proste, Alt + F8, a potem Run Macro i już. A w Accesie nie wiem jak je uruchomić...

konto usunięte

Temat: mass import csv

Dawno nie byłem na tej grupie. Nie wrzuciłem tego kodu, bo nie znalazłem.

Jak rozwiązałeś temat?
Jakie rozwiązanie okazało się najlepsze dla tego przypadku?
Daniel Martyn

Daniel Martyn SEM & Web Analytics
at Hotelopia
(Hotelbeds)

Temat: mass import csv

Użyłem kodu, który znalazłem na wspomnianej stronie www. Troszkę go zmieniłem bo w jednym miejscu nie działał:
strFile = Dir(strPath & "*.CSV")
chyba funkcja Dir z jakiegoś powodu nie chciała zadziałać więc musiałem ją obejść podając w tym miejscu pełną ścieżkę dostępu.

Kod odpalam za pomocą prostego formularza, gdzie podaję nazwę docelowej tabeli, ścieżkę dostępu i przycik Run, który uruchamia całe macro.

Kod działa super, jest bardzo przydatny i oszczędzam masę czasu dzięki niemu. Rewelacja...

Następna dyskusja:

[Access 2003] import z UTF-8




Wyślij zaproszenie do