Údaje, údaje, údaje - bez nej by bola databáza dosť zbytočná. Nie je teda prekvapením, že jeden z most často kladené otázky, pokiaľ ide o získanie týchto údajov do vašej tabuľky (tabuliek) Accessu - ako si môžem uľahčiť život, keď musím pravidelne importovať veľa (a veľa!) súborov? Pretože je to taká bežná úloha, je zrejmé, že existuje veľa spôsobov, ako pokožku konkrétnej mačky zbaviť, ale tu sa pozrieme iba na jeden - podľa môjho názoru najjednoduchší - najmä ak to robíte pravidelne alebo dokonca plánovaný časový rámec. Trochu plánovania (a tým myslím trochu!) A trocha VBA mágie a budete v pohode - čítajte ďalej a získatetarted ...
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 (cesta ako reťazec, do tabuľky ako reťazec, hasHeader ako boolovská hodnota) Dim fileName ako reťazec 'Obíďte priečinok a importujte každý súbor fileName = Dir (cesta & "\ *. Xls") While fileName <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader 'skontrolujte, či existujú ďalšie súbory na import fileName = Dir () Wend End Sub
Prebieha kontrola problémov ...
Predtý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
Ahoj, myslím, že som videl, že si navštívil môj blog, tak som ti prišiel "oplatiť láskavosť". Snažím sa nájsť veci na zlepšenie mojej stránky! Myslím, že je v poriadku použiť pár tvojich nápadov!