Podaci, podaci, podaci – bez njih bi baza podataka bila prilično beskorisna. Stoga ne čudi da je jedno od najčešće postavljanih pitanja kada je u pitanju unos tih podataka u vašu Access tabelu/e – kako mogu sebi olakšati život kada moram redovno uvoziti mnogo (i mnogo!) datoteka? Budući da je to tako uobičajen zadatak, očigledno postoji niz načina da se odere ta određena mačka, ali ovdje ćemo pogledati samo jedan – po mom mišljenju najlakši – posebno ako ovo radite redovno ili čak planirano. Malo planiranja (i mislim malo!) i malo VBA magije i bit ćete spremni – čitajte dalje da biste započeli…
Uvoz svih Excel datoteka u fasciklu
U ovom članku ćemo pogledati uvoz većeg broja Excel datoteka unutar datog foldera, ali isto tako lako možete uvesti csv datoteke itd. – uskoro ćemo razgovarati o tome kako promijeniti kod za rukovanje csv datotekama.
Prvo, hajde da definišemo šta želimo da kod radi:
„Želimo da uvezemo sve fajlove iz date fascikle u postojeću tabelu – takođe želimo da navedemo da li datoteke imaju liniju zaglavlja ili ne“
Čini se dovoljno jednostavno, pa pogledajmo kod kako bismo to učinili:
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
Provjera problema…

OK – prvo prvo. Da bi kod bio što upotrebljiviji u različitim okolnostima, tražimo naziv putanje (gdje su datoteke pohranjene), naziv tabele u koju želite da uvezete ove datoteke i da li sve datoteke u ovoj mapi imaju zaglavlje ili ne (tj. da li se imena polja pojavljuju u prvom redu tabele).
Primijetit ćete da dio koda koji traži datoteke – Dir(path & “\*.xls”) – dodaje zamjenski znak i ekstenziju datoteke na dostavljenu putanju. Napominjem ovo jer bi bilo vrlo lako promijeniti kod ako, na primjer, želite da uvezete samo datoteke koje odgovaraju određenoj konvenciji imenovanja (npr. sve datoteke koje imaju “januar” ili “2017” kao dio naziva datoteke ). Možete, ako želite, čak i dodati taj filter kao parametar pozivu potprograma.
U svakom slučaju, ako datoteka odgovara datim kriterijumima (bilo koja datoteka „.xls“ u fascikli koja koristi u ovom slučaju), ona odmah pokušava da uveze tu datoteku pomoću komande TransferSpreadsheet.
Gdje promijeniti kod da odgovara vašim potrebama...
U ovom trenutku možete promijeniti kod tako da umjesto uvoza proračunske tablice uvozi csv datoteke (pomoću naredbe “TransferText”) itd.
Kôd se zatim ponavlja sve dok u tom folderu ne bude više datoteka za uvoz.
To je mali dio koda, ali siguran sam da ćete ga uvijek iznova koristiti!
Uvod za autora:
Mitchell Pond je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući popraviti SQL korupciju i Excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com