Heim >Datenbank >MySQL-Tutorial >Wie kann ich große Datensätze mithilfe von SQL effizient von Excel nach Access übertragen?

Wie kann ich große Datensätze mithilfe von SQL effizient von Excel nach Access übertragen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-05 07:22:44203Durchsuche

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

Verwenden der SQL-Insert-Anweisung zum effizienten Übertragen von Daten von Excel nach Access

In Ihrem Excel-VBA-Code haben Sie jede Zeile manuell durchlaufen Daten, um Werte in eine Access-Tabelle einzufügen. Während dieser Ansatz für kleine Datensätze funktioniert, wird er für große Datensätze wie 25.000 Datensätze ineffizient.

Stattdessen können Sie SQL-INSERT-Anweisungen verwenden, um mehrere Zeilen gleichzeitig einzufügen, wodurch die Verarbeitungszeit drastisch verkürzt wird. Der folgende überarbeitete Code zeigt, wie:

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

Durch die Verwendung der in Zeile 11 gezeigten SQL INSERT-Anweisung werden alle Zeilen aus dem Excel-Bereich auf einmal in die Access-Tabelle eingefügt. Dadurch entfällt die Notwendigkeit einer Schleife und die Leistung wird erheblich verbessert.

Obwohl Sie erwähnt haben, dass Sie Feldnamen angeben möchten, anstatt „SELECT *“ zu verwenden, zeigt der bereitgestellte Code dies nicht. Wenn Sie Hilfe beim Festlegen bestimmter Feldnamen benötigen, geben Sie bitte die gewünschten Feldnamen an. Wir können Ihnen dann dabei helfen, den Code entsprechend zu ändern.

Das obige ist der detaillierte Inhalt vonWie kann ich große Datensätze mithilfe von SQL effizient von Excel nach Access übertragen?. 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