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 – nélkülük egy adatbázis gyakorlatilag haszontalan lenne. Nem meglepő tehát, hogy az Access-táblákba történő adatbevitellel kapcsolatban az egyik leggyakrabban feltett kérdés a következő: hogyan könnyíthetném meg az életemet, amikor rendszeresen rengeteg (és rengeteg!) fájlt kell importálnom? Mivel ez egy ilyen gyakori feladat, nyilvánvalóan számos módja van annak, hogy megszabaduljunk ettől a feladattól, de itt csak egyet fogunk megvizsgálni – véleményem szerint a legegyszerűbbet –, különösen, ha ezt rendszeresen, vagy akár ütemezett időkeretben csináljuk. Egy kis tervezés (és tényleg egy kis!) és egy kis VBA varázslat, és már indulhat is – olvasson tovább, hogy elkezdhesse…

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.