Heim >Datenbank >MySQL-Tutorial >Wie kann ich Excel-Daten effizient und ohne Schleifen nach MS Access exportieren?

Wie kann ich Excel-Daten effizient und ohne Schleifen nach MS Access exportieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 18:47:43179Durchsuche

How Can I Efficiently Export Excel Data to MS Access Without Using Loops?

Verwenden von Excel VBA zum Exportieren von Daten in eine MS Access-Tabelle ohne Schleife

Beim Exportieren von Daten aus einem Excel-Arbeitsblatt in eine MS Access-Tabelle besteht der herkömmliche Ansatz darin, eine Schleife zu verwenden um jede Datenzeile iterativ in die Tabelle einzufügen. Allerdings kann diese Methode bei großen Datensätzen ineffizient sein. Hier ist eine alternative Methode mit einer einzelnen SQL-INSERT-Anweisung, die die Leistung erheblich steigert:

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

In diesem Code:

  • Die SQL-Variable erstellt eine SQL-INSERT-Anweisung, die alle Daten auswählt den Excel-Bereich dsh und fügt ihn in die fdFolio-Tabelle in Access ein.
  • Der cn.Execute Die SQL-Zeile führt die SQL-INSERT-Anweisung aus, fügt alle Daten auf einmal ein, wodurch Schleifen überflüssig werden und der Vorgang erheblich beschleunigt wird.

Hinweis

Für Felder mit bestimmten Namen gilt: Sie Sie können die SQL-Anweisung ändern, um bestimmte Feldnamen in die INSERT-Klausel aufzunehmen:

ssql = "INSERT INTO fdFolio (fdName, fdOne, fdTwo) "
ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh

Das obige ist der detaillierte Inhalt vonWie kann ich Excel-Daten effizient und ohne Schleifen nach MS Access exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn