Kaip importuoti visus aplanke esančius failus į prieigos lentelę

Bendrinti dabar:

Duomenys, duomenys, duomenys – be jų duomenų bazė būtų gana nenaudinga. Tad nieko keisto, kad vienas iš most dažnai užduodami klausimai, susiję su tų duomenų įtraukimu į „Access“ lentelę (-es), yra: kaip palengvinti savo gyvenimą, kai turiu reguliariai importuoti daug (ir daug!) failų? Kadangi tai tokia įprasta užduotis, akivaizdu, kad yra daug būdų, kaip nulupti tą katę, bet čia mes apžvelgsime tik vieną – mano nuomone, lengviausią – ypač jei tai darote reguliariai ar net. numatytą laiką. Šiek tiek planavimo (ir aš turiu omenyje šiek tiek!) ir šiek tiek VBA magijos ir jums bus gerai – skaitykite toliau, kad gautumėtetarted…

Importuoti visus „Excel“ failus į aplanką

Importuokite „Excel“ failą, kad galėtumėte pasiektiŠiame straipsnyje apžvelgsime kelių „Excel“ failų importavimą tam tikrame aplanke, tačiau taip pat galite lengvai importuoti csv failus ir pan. – netrukus aptarsime, kaip pakeisti kodą, kad būtų tvarkomi csv failai.

Pirmiausia apibrėžkime, ką norime, kad kodas veiktų:

„Norime importuoti visus failus iš tam tikro aplanko į esamą lentelę – taip pat norime nurodyti, ar failai turi antraštės eilutę, ar ne“

Atrodo pakankamai paprasta, todėl pažvelkime į kodą, kaip tai padaryti:

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

Tikrinama, ar nėra problemų…

Prieigos duomenų bazės korupcijaPrieš pradedant detalizuoti, kaip šis kodas veikia, svarbu atkreipti dėmesį, kad į aukščiau pateiktą kodą neįtrauktas klaidų tikrinimas – tai daroma sąmoningai, kad kodas būtų lengvai skaitomas, bet primygtinai rekomenduoju pridėti klaidų valdymo kodą. į savo duomenų bazę, kad išlaikytumėte tikimybę Prieigos duomenų bazės sugadinimas iki minimumo!

Gerai – pirmieji dalykai. Kad kodą būtų galima naudoti įvairiomis aplinkybėmis, prašome nurodyti kelio pavadinimą (kur saugomi failai), lentelės, į kurią norite importuoti šiuos failus, pavadinimą ir ar visi šiame aplanke esantys failai turi antraštę ar ne (ty ar laukų pavadinimai rodomi pirmoje skaičiuoklės eilutėje).

Pastebėsite, kad kodo dalis, kuri ieško failų – Dir(kelias ir „\*.xls“) – prie pateikto kelio prideda pakaitos simbolį ir failo plėtinį. Paminėjau tai, nes būtų labai lengva pakeisti kodą, jei, pavyzdžiui, norėtumėte importuoti tik tuos failus, kurie atitiko tam tikrą pavadinimų tvarką (pvz., visus failus, kurių failo pavadinimo dalis yra „Sausio mėn.“ arba „2017 m. ). Jei norite, netgi galėtumėte pridėti tą filtrą kaip paprogramės iškvietimo parametrą.

Bet kokiu atveju, jei failas atitinka nurodytus kriterijus (šiuo atveju bet koks „.xls“ failas aplanke, kuriame naudojamas ), jis nedelsdamas bando importuoti tą failą naudodamas komandą TransferSpreadsheet.

Kur pakeisti kodą, kad jis atitiktų jūsų poreikius…

Būtent šiuo metu galite pakeisti kodą taip, kad vietoj skaičiuoklės importavimo jis importuotų csv failus (naudodamas komandą „TransferText“) ir kt.

Tada kodas sukasi, kol tame aplanke nebeliks importuotinų failų.

Tai maža kodo dalis, bet aš tikiu, kad ją naudosite vėl ir vėl!

Autoriaus įvadas:

Mitchell Pond yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant pataisyti SQL sugadinimą ir Excel atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

Bendrinti dabar:

Komentarai yra uždaryti.