Kako uvoziti vse datoteke iz mape v tabelo za dostop

Skupna raba zdaj:

Podatki, podatki, podatki – brez njih bi bila zbirka podatkov precej neuporabna. Zato ni presenetljivo, da je eno najpogostejših vprašanj, ko gre za vnos teh podatkov v Accessovo tabelo (tabele) – kako si lahko olajšam življenje, ko moram redno uvažati veliko (in veliko!) datotek? Ker gre za tako pogosto opravilo, obstaja očitno več načinov, kako odreti to določeno mačko, vendar si bomo tukaj ogledali le enega – po mojem mnenju najlažjega – še posebej, če to počnete redno ali celo načrtovano. Malo načrtovanja (in res mislim malo!) in malo VBA čarovnije in pripravljeni boste – berite dalje, da začnete ...

Uvoz vseh datotek Excel v mapo

Uvozite datoteko Excel za dostopV tem članku si bomo ogledali uvoz številnih datotek Excel v določeno mapo, vendar lahko prav tako enostavno uvozite datoteke CSV itd. - Kmalu bomo razpravljali o tem, kako spremeniti kodo za obdelavo datotek CSV.

Najprej določimo, kaj želimo, da koda naredi:

"Vse datoteke iz dane mape želimo uvoziti v obstoječo tabelo - prav tako želimo določiti, ali imajo datoteke vrstico glave ali ne"

Zdi se dovolj preprosto, zato si oglejmo kodo za to:

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

Preverjanje težav ...

Dostop do korupcije v zbirki podatkovPreden se lotimo podrobnosti o delovanju te kode, je pomembno opozoriti, da v zgornji kodi ni vključeno preverjanje napak - to je namerno, tako da je koda lahko berljiva, vendar toplo priporočam, da dodate kodo za obdelavo napak v svojo bazo podatkov, da boste obdržali možnosti Dostop do korupcije v zbirki podatkov na minimum!

OK - najprej najprej. Da bo koda čim bolj uporabna v različnih okoliščinah, prosimo za ime poti (kjer so datoteke shranjene), ime tabele, v katero želite uvoziti te datoteke, in ali imajo datoteke v tej mapi glava ali ne (tj. ali se imena polj pojavijo v prvi vrstici preglednice).

Opazili boste, da del kode, ki išče datoteke - Dir (pot & "\ *. Xls") - priloženi poti doda nadomestni znak in pripono datoteke. To omenjam, saj bi bilo zelo enostavno spremeniti kodo, če bi na primer želeli uvoziti samo datoteke, ki se ujemajo z določeno konvencijo poimenovanja (npr. Vse datoteke, ki imajo kot ime datoteke »januar« ali »2017«). ). Če bi želeli, bi lahko ta filter celo dodali kot parameter klicu podprograma.

Kakor koli že, če datoteka, ki ustreza danim merilom (v tem primeru katera koli datoteka .xls) v mapi, s pomočjo datoteke takoj poskusi to datoteko uvoziti z ukazom TransferSpreadsheet.

Kje spremeniti kodo, ki ustreza vašim potrebam ...

Na tej točki lahko spremenite kodo, tako da namesto da bi uvozila preglednico, uvozi datoteke csv (z ukazom »TransferText«) itd.

Nato se koda zanka, dokler v tej mapi ni več datotek za uvoz.

To je majhen delček kode, toda tisti, ki ga boste vedno znova uporabljali, sem prepričan!

Uvod avtorja:

Mitchell Pond je strokovnjak za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z popravilo korupcije SQL in excel programske izdelke za obnovitev. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.