Apabila mengeksport data daripada lembaran kerja Excel ke jadual MS Access, pendekatan konvensional melibatkan penggunaan gelung untuk memasukkan secara berulang setiap baris data ke dalam jadual. Walau bagaimanapun, kaedah ini boleh menjadi tidak cekap untuk set data yang besar. Berikut ialah kaedah alternatif menggunakan pernyataan SQL INSERT tunggal yang meningkatkan prestasi dengan ketara:
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 ' Construct SQL INSERT statement to bulk insert data ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh ' Execute SQL INSERT statement to insert data in one go cn.Execute ssql End Sub
Dalam kod ini:
Untuk medan dengan khusus nama, anda boleh mengubah suai pernyataan ssql untuk memasukkan nama medan tertentu dalam INSERT klausa:
ssql = "INSERT INTO fdFolio (fdName, fdOne, fdTwo) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Data Excel dengan Cekap ke MS Access Tanpa Menggunakan Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!