Data, data, data – tanpanya, pangkalan data tidak akan berguna. Jadi, tidak hairanlah salah satu soalan paling kerap ditanya apabila melibatkan memasukkan data tersebut ke dalam jadual Access anda ialah – bagaimana saya boleh memudahkan hidup saya sedangkan saya perlu kerap mengimport banyak (dan banyak!) fail? Memandangkan ia merupakan tugas yang biasa, sudah tentu terdapat beberapa cara untuk menyelesaikannya, tetapi di sini kita akan melihat hanya satu – pada pendapat saya yang paling mudah – terutamanya jika anda melakukan ini pada jangka masa yang tetap atau dijadualkan. Sedikit perancangan (dan saya maksudkan sedikit!) dan sedikit keajaiban VBA dan anda sudah bersedia – teruskan membaca untuk bermula…
Mengimport semua fail Excel dalam folder
Untuk artikel ini, kita akan melihat untuk mengimport sejumlah fail Excel dalam folder tertentu, tetapi anda boleh dengan mudah mengimport fail csv dll - kita akan membincangkan cara mengubah kod untuk menangani fail csv tidak lama lagi.
Pertama, mari kita tentukan apa yang kita mahu kodnya:
"Kami ingin mengimport semua fail dari folder tertentu ke dalam tabel yang ada - kami juga ingin menentukan apakah fail tersebut memiliki baris header atau tidak"
Nampaknya cukup mudah, jadi mari kita lihat kod untuk melakukan ini:
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
Memeriksa masalah…

OK - perkara pertama yang pertama. Untuk memastikan kod itu dapat digunakan dalam keadaan yang berbeza, kami meminta nama jalan (tempat fail disimpan), nama jadual yang ingin anda impor fail ini, dan adakah fail dalam folder ini semuanya mempunyai header atau tidak (iaitu nama medan muncul pada baris pertama spreadsheet).
Anda akan melihat bahawa bahagian kod yang mencari fail - Dir (jalan & "\ *. Xls") - menambahkan kad pengganti dan pelanjutan fail ke jalur yang disediakan. Saya menyebutnya kerana akan sangat mudah untuk mengubah kod jika, misalnya, anda hanya ingin mengimport fail yang sesuai dengan konvensi penamaan tertentu (mis. Semua file yang memiliki "Januari", atau "2017" sebagai bagian dari nama file ). Anda boleh, jika anda mahu, bahkan menambahkan penapis itu sebagai parameter untuk panggilan subrutin.
Bagaimanapun, jika file yang sesuai dengan kriteria yang diberikan (ada file ".xls" dalam folder menggunakan dalam kasus ini), ia segera berusaha untuk mengimport file tersebut menggunakan perintah TransferSpreadsheet.
Di mana untuk menukar kod untuk memenuhi keperluan anda ...
Pada ketika inilah anda boleh mengubah kod sehingga daripada mengimport spreadsheet, ia mengimport fail csv (menggunakan perintah "TransferText") dll
Kod tersebut kemudian dilambung sehingga tidak ada fail lagi untuk diimport dalam folder itu.
Ini adalah sekeping kecil kod, tetapi yang akan anda gunakan berulang kali saya pasti!
Pengenalan Pengarang:
Mitchell Pond adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk membaiki rasuah SQL dan produk perisian pemulihan yang unggul. Untuk maklumat lebih lanjut, lawati www.datanumen.com