Ma'lumotlar, ma'lumotlar, ma'lumotlar – ularsiz ma'lumotlar bazasi juda foydasiz bo'lar edi. Shuning uchun, Access jadvalingizga ma'lumotlarni kiritish haqida eng ko'p so'raladigan savollardan biri bu – muntazam ravishda ko'p (va juda ko'p!) fayllarni import qilishim kerak bo'lganda hayotimni qanday osonlashtirishim mumkinligi ajablanarli emas. Bu juda keng tarqalgan vazifa bo'lgani uchun, aniqki, o'sha mushukning terisini tozalashning bir qator usullari mavjud, ammo bu yerda biz faqat bittasini – mening fikrimcha, eng osonini – ayniqsa, buni muntazam yoki hatto belgilangan vaqt oralig'ida qilsangiz, ko'rib chiqamiz. Bir oz rejalashtirish (va men ozgina nazarda tutyapman!) va ozgina VBA sehrini qo'llang va siz tayyor bo'lasiz – boshlash uchun o'qing...
Barcha Excel fayllarini papkaga import qilish
Ushbu maqolada biz ma'lum bir papkaga bir nechta Excel fayllarini import qilishni ko'rib chiqamiz, lekin siz CSV fayllarini va hokazolarni osongina import qilishingiz mumkin - biz qisqa vaqt ichida csv fayllarini boshqarish uchun kodni qanday o'zgartirishni muhokama qilamiz.
Birinchidan, kodni nima qilishni xohlayotganimizni aniqlaymiz:
"Biz ma'lum bir jilddagi barcha fayllarni mavjud jadvalga import qilmoqchimiz - biz fayllarda sarlavha qatori bor yoki yo'qligini ham belgilashni xohlaymiz"
Etarlicha oddiy ko'rinadi, shuning uchun buni amalga oshirish uchun kodni ko'rib chiqaylik:
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
Muammolar tekshirilmoqda…

OK - birinchi narsa. Kodni iloji boricha turli vaziyatlarda foydalanishga yaroqli saqlash uchun biz yo'l nomini (fayllar saqlanadigan joy), ushbu fayllarni import qilmoqchi bo'lgan jadval nomini va ushbu papkadagi barcha fayllarda sarlavha yoki yo'q (ya'ni maydon nomlari elektron jadvalning birinchi qatorida ko'rsatiladimi).
Kodning fayllarni qidiradigan qismi – Dir(yo‘l va “\*.xls”) taqdim etilgan yo‘lga joker belgi va fayl kengaytmasini qo‘shishini sezasiz. Men buni eslatib o'tmoqchiman, chunki, masalan, siz faqat ma'lum nomlash qoidalariga mos keladigan fayllarni import qilmoqchi bo'lsangiz, kodni o'zgartirish juda oson bo'ladi (masalan, fayl nomining bir qismi sifatida "Yanvar" yoki "2017" bo'lgan barcha fayllar. ). Agar xohlasangiz, ushbu filtrni pastki dastur chaqiruviga parametr sifatida qo'shishingiz mumkin.
Qanday bo'lmasin, berilgan mezonlarga mos keladigan fayl (bu holda papkadagi har qanday “.xls” fayli) bo'lsa, u darhol TransferSpreadsheet buyrug'i yordamida ushbu faylni import qilishga harakat qiladi.
Ehtiyojlaringizga mos ravishda kodni qayerga o'zgartirish mumkin...
Aynan shu nuqtada siz kodni o'zgartirishingiz mumkin, shunda u elektron jadvalni import qilish o'rniga csv fayllarni import qiladi ("TransferText" buyrug'i yordamida) va hokazo.
Keyin kod o'sha papkada import qilinadigan boshqa fayllar qolmaguncha aylanadi.
Bu kichik kod bo'lagi, lekin siz uni qayta-qayta ishlatsangiz, ishonchim komil!
Muallif kirish:
Mitchell Pond - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc SQL buzilishlarini tuzatish va excel tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com