Menggunakan Penyata Sisipan SQL untuk Memindahkan Data dengan Cekap dari Excel ke Akses
Dalam kod VBA Excel anda, anda secara manual menggelung setiap baris data untuk memasukkan nilai ke dalam jadual Access. Walaupun pendekatan ini berfungsi untuk set data kecil, pendekatan ini menjadi tidak cekap untuk set data besar seperti 25,000 rekod.
Sebaliknya, anda boleh menggunakan pernyataan SQL INSERT untuk memasukkan berbilang baris sekaligus, mengurangkan masa pemprosesan secara drastik. Kod yang disemak berikut menunjukkan cara:
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
Dengan menggunakan pernyataan SQL INSERT yang ditunjukkan dalam baris 11, semua baris daripada julat Excel dimasukkan ke dalam jadual Access sekaligus. Ini menghapuskan keperluan untuk gelung dan meningkatkan prestasi dengan ketara.
Walaupun anda menyebut mahu menentukan nama medan dan bukannya menggunakan "PILIH *", kod yang diberikan tidak menunjukkan perkara itu. Jika anda memerlukan bantuan dengan menetapkan nama medan tertentu, sila berikan nama medan yang diingini dan kami boleh membantu anda mengubah suai kod tersebut dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memindahkan Set Data Besar dengan Cekap daripada Excel ke Akses Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!