Kā importēt visus mapē esošos failus piekļuves tabulā

Kopīgot tūlīt:

Dati, dati, dati — bez tiem datubāze būtu diezgan bezjēdzīga. Tāpēc nav pārsteigums, ka viens no visbiežāk uzdotajiem jautājumiem, runājot par datu iegūšanu Access tabulā(-ās), ir — kā es varu atvieglot savu dzīvi, ja man regulāri jāimportē daudz (un daudz!) failu? Tā kā tas ir tik bieži veicams uzdevums, protams, ir vairāki veidi, kā no tā atbrīvoties, bet šeit mēs aplūkosim tikai vienu — manuprāt, vienkāršāko —, it īpaši, ja to darāt regulāri vai pat ieplānotā laika posmā. Nedaudz plānošanas (un es tiešām domāju nedaudz!) un nedaudz VBA maģijas, un jūs būsiet gatavs — lasiet tālāk, lai sāktu…

Visu Excel failu importēšana mapē

Importējiet Excel failu, lai piekļūtuŠajā rakstā mēs aplūkosim vairāku Excel failu importēšanu noteiktā mapē, taču jūs tikpat viegli varētu importēt csv failus utt. - mēs apspriedīsim, kā mainīt kodu, lai īslaicīgi apstrādātu csv failus.

Pirmkārt, definēsim, ko mēs vēlamies darīt kodam:

"Mēs vēlamies importēt visus failus no norādītās mapes esošā tabulā - mēs arī vēlamies norādīt, vai failiem ir galvenes līnija vai nav"

Šķiet, ka tas ir pietiekami vienkāršs, tāpēc apskatīsim kodu, lai to izdarītu:

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

Notiek problēmu meklēšana ...

Piekļuves datu bāzei korupcijaPirms mēs detalizēti iepazīstamies ar šī koda darbību, ir svarīgi atzīmēt, ka iepriekšminētajā kodā nav kļūdu pārbaudes - tas ir apzināti, lai kods būtu viegli lasāms, bet es iesaku jums pievienot kļūdu apstrādes kodu savā datu bāzē, lai saglabātu iespējas Piekļuve datu bāzes korupcijai līdz minimumam!

Labi - pirmās lietas. Lai saglabātu kodu pēc iespējas izmantojamāku dažādos apstākļos, mēs pieprasām ceļa nosaukumu (kur faili tiek glabāti), tās tabulas nosaukumu, kurā vēlaties importēt šos failus, un vai visiem šīs mapes failiem ir vai ne (ti, vai lauku nosaukumi parādās izklājlapas pirmajā rindā).

Jūs ievērosiet, ka tā koda daļa, kas meklē failus - Dir (ceļš un “\ *. Xls”), pievieno aizstājējzīmi un faila paplašinājumu piegādātajam ceļam. Es to pieminēju, jo kodu būtu ļoti viegli mainīt, ja, piemēram, vēlaties importēt tikai failus, kas atbilst noteiktai nosaukšanas konvencijai (piemēram, visus failus, kuru faila nosaukumā ir “Janvāris” vai “2017”. ). Jūs varētu, ja vēlaties, pat pievienot šo filtru kā parametru apakšprogrammas izsaukumam.

Jebkurā gadījumā, ja fails, kas atbilst norādītajiem kritērijiem (jebkurš “.xls” fails mapē, izmantojot šajā gadījumā), tas nekavējoties mēģina importēt šo failu, izmantojot komandu TransferSpreadsheet.

Kur mainīt kodu, lai tas atbilstu jūsu vajadzībām…

Šajā brīdī jūs varat mainīt kodu tā, lai izklājlapas importēšanas vietā tas importētu csv failus (izmantojot komandu “TransferText”) utt.

Pēc tam kods tiek izveidots, līdz tajā mapē vairs nav importējamu failu.

Tas ir mazs koda gabals, taču tāds, kuru jūs atkal un atkal izmantojat, esmu pārliecināts!

Autora ievads:

Mičels Dīķis ir datu atkopšanas eksperts DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp labot SQL korupciju un Excel atkopšanas programmatūras produkti. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar

Kopīgot tūlīt:

Komentāri ir slēgti.