Cara Mengimpor Semua File dalam Folder ke Tabel Akses Anda

Bagikan sekarang:

Data, data, data - tanpanya database akan sangat tidak berguna. Jadi tidak mengherankan jika salah satu most pertanyaan yang sering diajukan tentang memasukkan data tersebut ke dalam tabel Access Anda adalah - bagaimana cara membuat hidup saya lebih mudah ketika saya harus mengimpor banyak (dan banyak!) file secara teratur? Karena ini adalah tugas yang umum, jelas ada sejumlah cara untuk menguliti kucing itu, tetapi di sini kita akan melihat hanya satu - menurut saya yang paling mudah - terutama jika Anda melakukan ini secara teratur, atau bahkan jangka waktu yang dijadwalkan. Sedikit perencanaan (dan maksud saya sedikit!) Dan sedikit keajaiban VBA dan Anda akan baik-baik saja - baca terus untuk mendapatkantarted ...

Mengimpor semua file Excel ke dalam folder

Impor File Excel Untuk MengaksesUntuk artikel ini, kita akan melihat mengimpor sejumlah file Excel dalam folder tertentu, tetapi Anda dapat dengan mudah mengimpor file csv dll - kami akan membahas cara mengubah kode untuk menangani file csv segera.

Pertama, mari kita tentukan apa yang kita ingin kode lakukan:

"Kami ingin mengimpor semua file dari folder tertentu ke dalam tabel yang ada - kami juga ingin menentukan apakah file tersebut memiliki baris header atau tidak"

Tampaknya cukup sederhana, jadi mari kita lihat kode 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…

Akses Database KorupsiSebelum kita membahas lebih detail tentang cara kerja kode ini, penting untuk dicatat bahwa tidak ada pemeriksaan kesalahan yang disertakan dalam kode di atas - ini disengaja agar kode tetap mudah dibaca tetapi saya sangat menyarankan Anda menambahkan kode penanganan kesalahan ke database Anda sehingga Anda dapat menyimpan peluang Mengakses kerusakan database seminimal mungkin!

OK - hal pertama yang pertama. Untuk menjaga agar kode dapat digunakan dalam keadaan yang berbeda, kami meminta nama jalur (tempat file disimpan), nama tabel tempat Anda ingin mengimpor file ini, dan apakah semua file dalam folder ini memiliki header atau tidak (yaitu apakah nama field muncul di baris pertama spreadsheet).

Anda akan melihat bahwa bagian dari kode yang mencari file - Dir (path & “\ *. Xls”) - menambahkan wildcard dan ekstensi file ke path yang disediakan. Saya menyebutkan ini karena akan sangat mudah untuk mengubah kode jika, misalnya, Anda hanya ingin mengimpor file yang cocok dengan konvensi penamaan tertentu (mis. Semua file yang memiliki "Januari", atau "2017" sebagai bagian dari nama file ). Anda bisa, jika Anda mau, bahkan menambahkan filter itu sebagai parameter ke panggilan subrutin.

Bagaimanapun, jika file cocok dengan kriteria yang diberikan (file ".xls" apa pun di folder menggunakan dalam kasus ini), file tersebut akan segera mencoba mengimpor file tersebut menggunakan perintah TransferSpreadsheet.

Tempat mengubah kode agar sesuai dengan kebutuhan Anda…

Pada titik inilah Anda dapat mengubah kode sehingga alih-alih mengimpor spreadsheet, ia mengimpor file csv (menggunakan perintah "TransferText") dll

Kode tersebut kemudian berputar sampai tidak ada file lagi untuk diimpor ke folder itu.

Ini adalah bagian kecil dari kode, tetapi kode yang akan Anda gunakan berulang kali, saya yakin!

Pengantar Penulis:

Mitchell Pond adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memperbaiki kerusakan SQL dan unggul dalam produk perangkat lunak pemulihan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

Bagikan sekarang:

Komentar ditutup.