Pada asalnya, kod anda memanfaatkan gelung untuk mengeksport data daripada lembaran kerja Excel ke jadual MS Access. Walaupun pendekatan ini berdaya maju untuk set data yang agak kecil, pendekatan ini menjadi kurang cekap apabila mengendalikan sejumlah besar data.
Untuk mengatasi had ini, anda mencari kaedah alternatif yang mengelakkan pemprosesan berulang. Selepas penerokaan, anda terjumpa penyelesaian yang menggunakan satu pernyataan SQL INSERT untuk memasukkan data secara pukal ke dalam jadual Akses.
Public Sub DoTrans() Set cn = CreateObject("ADODB.Connection") dbPath = Application.ActiveWorkbook.Path & "\FDData.mdb" dbWb = Application.ActiveWorkbook.FullName dbWs = Application.ActiveSheet.Name scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath dsh = "[" & Application.ActiveSheet.Name & "$]" cn.Open scn ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh cn.Execute ssql End Sub
Pendekatan ini meningkatkan masa eksport dengan ketara, terbukti dalam pemerhatian anda bahawa 27,648 rekod telah dimasukkan ke dalam jadual Akses dalam masa 3 saat sahaja.
Semasa anda menghadapi cabaran dalam dengan menyatakan nama medan tertentu dan bukannya bergantung pada "PILIH *", anda terus meneroka kaedah yang berbeza untuk mencapai hasil yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Excel VBA Boleh Memasukkan Data Pukal ke MS Access untuk Eksport Data Lebih Pantas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!