A mappán belüli összes fájl importálása a hozzáférési táblába

Oszd meg most:

Adatok, adatok, adatok – enélkül egy adatbázis elég haszontalan lenne. Így nem meglepő, hogy az egyik most Gyakran ismételt kérdések, amikor az adatoknak az Access táblá(k)ba kerül(nek) – hogyan könnyíthetem meg az életemet, ha rendszeresen sok (és sok!) fájlt kell importálnom? Mivel ez nagyon gyakori feladat, nyilvánvalóan számos módja van az adott macska megnyúzására, de most csak egyet fogunk megvizsgálni – szerintem a legegyszerűbbet –, különösen, ha rendszeresen csinálod, vagy akár ütemezett időkeret. Egy kis tervezés (és úgy értem egy kicsit!) és egy kis VBA varázslat, és már indulhat is – olvassa el atarted…

Az összes Excel fájl importálása egy mappába

Excel-fájl importálása a hozzáféréshezEbben a cikkben megvizsgáljuk, hogyan importálhat számos Excel-fájlt egy adott mappán belül, de ugyanilyen egyszerűen importálhat csv-fájlokat stb. – hamarosan megvitatjuk, hogyan módosítható a kód a csv-fájlok kezeléséhez.

Először is határozzuk meg, mit akarunk a kódtól:

„Az összes fájlt egy adott mappából egy létező táblába szeretnénk importálni – azt is meg akarjuk adni, hogy a fájloknak van-e fejléce vagy sem”

Elég egyszerűnek tűnik, ezért nézzük meg a kódot ehhez:

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

Problémák keresése…

Access Database CorruptionMielőtt belemennénk a kód működésének részleteibe, fontos megjegyezni, hogy a fenti kód nem tartalmaz hibaellenőrzést – ez szándékos, hogy a kód könnyen olvasható legyen, de erősen javaslom, hogy adjon hozzá hibakezelő kódot. az adatbázisába, így megőrizheti annak esélyét Hozzáférés az adatbázis sérüléséhez minimumra!

OK – először a dolgok. Annak érdekében, hogy a kód a lehető legkülönbözőbb körülmények között használható legyen, meg kell adni az elérési utat (ahol a fájlok tárolják), annak a táblának a nevét, amelybe importálni kívánja ezeket a fájlokat, és azt, hogy a mappában lévő fájlok mindegyike rendelkezik-e fejléc vagy sem (azaz a mezőnevek megjelennek-e a táblázat első sorában).

Észreveheti, hogy a kódnak a fájlokat kereső része – Dir(elérési út & „\*.xls”) – helyettesítő karaktert és fájlkiterjesztést fűz a megadott elérési úthoz. Ezt azért említem meg, mert nagyon könnyű lenne megváltoztatni a kódot, ha például csak olyan fájlokat szeretne importálni, amelyek megfelelnek egy adott elnevezési konvenciónak (pl. minden olyan fájl, amelynek a fájlnév része a „január” vagy a „2017” ). Ha akarja, ezt a szűrőt akár paraméterként is hozzáadhatja a szubrutinhíváshoz.

Mindenesetre, ha egy fájl megfelel a megadott feltételeknek (ebben az esetben a mappában található bármely „.xls” fájl), amely a fájlt használja, azonnal megpróbálja importálni a fájlt a TransferSpreadsheet paranccsal.

Hol módosíthatja a kódot az igényeinek megfelelően…

Ezen a ponton módosíthatja a kódot úgy, hogy a táblázat importálása helyett csv fájlokat importáljon (a „TransferText” paranccsal) stb.

A kód ezután ismétlődik, amíg nem lesz további importálandó fájl a mappában.

Ez egy kis kódrészlet, de biztos vagyok benne, hogy újra és újra használni fogod!

Szerző Bevezetés:

Mitchell Pond adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve az SQL korrupció javítása és Excel helyreállítási szoftvertermékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.