首頁 >資料庫 >mysql教程 >如何使用 SQL 有效率地將大型資料集從 Excel 傳輸到 Access?

如何使用 SQL 有效率地將大型資料集從 Excel 傳輸到 Access?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-05 07:22:44186瀏覽

How Can I Efficiently Transfer Large Datasets from Excel to Access Using SQL?

使用SQL Insert 語句有效率地將資料從Excel 傳送到Access

在Excel VBA 程式碼中,您手動循環遍歷每一行資料將值插入Access 表。雖然此方法適用於小型資料集,但對於 25,000 筆記錄等大型資料集來說,效率很低。

相反,您可以利用 SQL INSERT 語句一次插入多行,從而大幅減少處理時間。以下修改後的程式碼示範如何操作:

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

透過使用第 11 行所示的 SQL INSERT 語句,Excel 範圍中的所有行都會立即插入到 Access 表中。這消除了對循環的需要並顯著提高了性能。

儘管您提到要指定欄位名稱而不是使用“SELECT *”,但提供的程式碼並未證明這一點。如果您需要協助設定特定欄位名稱,請提供所需的欄位名稱,我們可以協助您相應修改程式碼。

以上是如何使用 SQL 有效率地將大型資料集從 Excel 傳輸到 Access?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn