Data, data, data - tanpanya pangkalan data tidak akan berguna. Oleh itu, tidak menghairankan bahawa salah satu most soalan yang sering diajukan ketika memasukkan data ke dalam jadual Akses anda - bagaimana saya dapat mempermudah hidup saya apabila saya perlu mengimport banyak (dan banyak!) fail secara berkala? Oleh kerana itu adalah tugas yang biasa, jelas ada beberapa cara untuk mengeringkan kucing itu, tetapi di sini kita akan melihat satu sahaja - pada pendapat saya yang paling mudah - terutamanya jika anda melakukan ini secara berkala, atau bahkan jangka masa yang dijadualkan. Perancangan kecil (dan maksud saya sedikit!) Dan sedikit sihir VBA dan anda akan senang - baca terus untuk mendapatkan started…
Mengimport semua fail Excel dalam folder

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