Kako uvesti sve datoteke unutar mape u svoju pristupnu tablicu

Podijeli sada:

Podaci, podaci, podaci – bez toga bi baza podataka bila prilično beskorisna. Stoga ne čudi da je jedan od most često postavljana pitanja kada se radi o unosu tih podataka u vašu Access tablicu(e) je – kako si mogu olakšati život kada moram redovito uvoziti puno (i puno!) datoteka? Budući da je to tako uobičajen zadatak, očito postoji više načina za guljenje kože te određene mačke, ali ovdje ćemo pogledati samo jedan – po mom mišljenju najlakši – pogotovo ako to radite redovito ili čak planirani vremenski okvir. Malo planiranja (i mislim malo!) i malo VBA magije i bit ćete spremni – čitajte dalje kako biste dobili starTed…

Uvoz svih Excel datoteka u mapu

Uvezite Excel datoteku za pristupU ovom ćemo članku razmotriti uvoz određenog broja Excel datoteka unutar određene mape, ali jednako tako možete uvesti csv datoteke itd. – uskoro ćemo raspravljati o tome kako promijeniti kôd za rukovanje csv datotekama.

Prvo, definirajmo što želimo da kod radi:

"Želimo uvesti sve datoteke iz određene mape u postojeću tablicu - također želimo odrediti imaju li datoteke redak zaglavlja ili ne"

Čini se dovoljno jednostavno, pa pogledajmo kod za ovo:

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…

Oštećenje pristupne baze podatakaPrije nego što uđemo u pojedinosti o tome kako ovaj kôd funkcionira, važno je napomenuti da u gornjem kodu nije uključena provjera pogrešaka – ovo je namjerno kako bi kôd bio lako čitljiv, ali snažno predlažem da dodate kôd za rukovanje pogreškama u svoju bazu podataka kako biste zadržali šanse za Oštećenje pristupne baze podataka na minimum!

U redu – na prvom mjestu. Da bi kod bio što upotrebljiviji u različitim okolnostima, tražimo naziv staze (gdje su datoteke pohranjene), naziv tablice u koju želite uvesti te datoteke i imaju li sve datoteke u ovoj mapi zaglavlje ili ne (tj. pojavljuju li se nazivi polja u prvom redu proračunske tablice).

Primijetit ćete da dio koda koji traži datoteke – Dir(path & “\*.xls”) – dodaje zamjenski znak i ekstenziju datoteke navedenoj stazi. Spominjem ovo jer bi bilo vrlo lako promijeniti kod ako biste, na primjer, htjeli uvesti samo datoteke koje odgovaraju određenoj konvenciji imenovanja (npr. sve datoteke koje imaju "siječanj" ili "2017" kao dio naziva datoteke ). Mogli biste, ako želite, dodati taj filtar kao parametar pozivu potprograma.

U svakom slučaju, ako datoteka odgovara zadanim kriterijima (bilo koja ".xls" datoteka u mapi koja u ovom slučaju koristi), odmah pokušava uvesti tu datoteku pomoću naredbe TransferSpreadsheet.

Gdje promijeniti kod kako bi odgovarao vašim potrebama…

U ovom trenutku možete promijeniti kod tako da umjesto uvoza proračunske tablice uvozi csv datoteke (koristeći naredbu “TransferText”) itd.

Kôd se zatim ponavlja sve dok u toj mapi više nema datoteka za uvoz.

To je mali dio koda, ali siguran sam da ćete ga koristiti iznova i iznova!

Uvod za autora:

Mitchell Pond je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući popraviti oštećenje SQL-a i excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.