Dáta, dáta, dáta – bez nich by bola databáza dosť zbytočná. Preto neprekvapuje, že jednou z najčastejšie kladených otázok, pokiaľ ide o získanie týchto údajov do tabuliek v Accesse, je – ako si môžem uľahčiť život, keď musím pravidelne importovať veľa (a veľa!) súborov? Keďže ide o takú bežnú úlohu, existuje samozrejme niekoľko spôsobov, ako danú mačku „zbaviť kože“, ale tu sa pozrieme len na jeden – podľa môjho názoru najjednoduchší – najmä ak to robíte pravidelne alebo dokonca naplánovane. Trochu plánovania (a myslím tým naozaj trochu!) a trochu mágie VBA a budete pripravení – čítajte ďalej, aby ste mohli začať…
Importujú sa všetky súbory programu Excel do priečinka
V tomto článku sa zameriame na import množstva súborov Excel v danom priečinku, ale rovnako ľahko by ste mohli importovať aj súbory CSV atď. - v krátkosti si povieme, ako zmeniť kód tak, aby spracovával súbory CSV.
Najskôr si definujme, čo má kód robiť:
„Chceme importovať všetky súbory z daného priečinka do existujúcej tabuľky - chceme tiež určiť, či majú súbory riadok hlavičky alebo nie“
Zdá sa to dosť jednoduché, preto sa pozrime na kód, ktorý to urobí:
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
Prebieha kontrola problémov ...

Dobre - prvé veci. Aby bol kód čo najviac použiteľný za rôznych okolností, pýtame sa na názov cesty (kde sú súbory uložené), názov tabuľky, do ktorej chcete tieto súbory importovať, a či majú súbory v tomto priečinku všetky hlavička alebo nie (tj. zobrazia sa názvy polí v prvom riadku tabuľky).
Všimnite si, že časť kódu, ktorá vyhľadáva súbory - Dir (cesta a „\ *. Xls“) - pripojí k zadanej ceste zástupný znak a príponu súboru. Uvádzam to, pretože by bolo veľmi ľahké zmeniť kód, ak by ste napríklad chceli importovať iba súbory, ktoré sa zhodujú s konkrétnou konvenciou pomenovania (napr. Všetky súbory, ktoré majú v názve súboru „január“ alebo „2017“. ). Tento filter môžete, ak chcete, dokonca pridať ako parameter do volania podprogramu.
V každom prípade, ak sa súbor zhoduje s danými kritériami (v tomto prípade akýkoľvek súbor „.xls“ v priečinku, ktorý sa v tomto prípade používa), okamžite sa ho pokúsi importovať pomocou príkazu TransferSpreadsheet.
Kde zmeniť kód podľa vašich potrieb ...
V tomto okamihu môžete zmeniť kód tak, aby namiesto importu tabuľky importoval súbory CSV (pomocou príkazu „TransferText“) atď.
Kód sa potom zacykluje, kým v danom priečinku nebudú existovať ďalšie súbory na importovanie.
Je to malý kúsok kódu, ale som si istý, že ten, ktorý znova a znova použijete.
Úvod autora:
Mitchell Pond je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť poškodenie SQL a vynikajúce softvérové produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S