Ako importovať všetky súbory v priečinku do tabuľky prístupu

Zdieľať teraz:

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

Importujte súbor programu ExcelV 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 ...

Poškodenie databázy prístupuPredtým, ako sa dostaneme do podrobností o tom, ako tento kód funguje, je dôležité poznamenať, že vo vyššie uvedenom kóde nie je zahrnutá žiadna kontrola chýb - je to zámerné, aby bol kód ľahko čitateľný, ale dôrazne vám odporúčam pridať kód na spracovanie chýb do svojej databázy, aby ste si udržali šance Poškodenie databázy prístupu na minimum!

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

Zdieľať teraz:

Komentáre sú uzavreté.