Heim > Datenbank > MySQL-Tutorial > Wie kann ich Excel-Daten mithilfe von SQL-INSERT-Anweisungen effizient in großen Mengen nach MS Access exportieren?

Wie kann ich Excel-Daten mithilfe von SQL-INSERT-Anweisungen effizient in großen Mengen nach MS Access exportieren?

Mary-Kate Olsen
Freigeben: 2025-01-05 20:03:40
Original
395 Leute haben es durchsucht

How Can I Efficiently Bulk Export Excel Data to MS Access Using SQL INSERT Statements?

Massenexport von Excel-Daten nach MS Access mit SQL INSERT

Während Schleifen eine effektive Methode zum Exportieren von Daten aus Excel nach MS Access darstellen, sind sie es kann beim Umgang mit großen Datensätzen ineffizient werden. Um die Leistung zu verbessern, sollten Sie die Verwendung einer einzigen SQL-INSERT-Anweisung für Masseneinfügungen in Betracht ziehen.

Vorhandener Code mit Schleife:

Der bereitgestellte VBA-Code durchläuft jede Zeile eines Excel-Arbeitsblatts in einer Schleife und fügt Daten in eine MS Access-Tabelle ein:

For i = 1 To rcount - 1
    rs.AddNew
    rs.Fields("fdName") = Cells(i + 1, 1).Value
    rs.Fields("fdDate") = Cells(i + 1, 2).Value
    rs.Update

Next i
Nach dem Login kopieren

Einschränkungen von Schleife:

Dieser Ansatz kann bei der Verarbeitung umfangreicher Datensätze zeitaufwändig sein und zu einer langsamen Leistung führen.

SQL INSERT für Masseneinfügungen:

Eine alternative Lösung besteht darin, eine einzige SQL-INSERT-Anweisung zu verwenden, um mehrere Zeilen gleichzeitig einzufügen. Diese Methode macht Schleifen überflüssig und beschleunigt den Exportvorgang erheblich.

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

In diesem Code:

  • Die INSERT INTO-Anweisung erstellt die Tabelle „fdFolio“ und fügt sie ein die Access-Datenbank.
  • Die SELECT *-Abfrage ruft Daten aus dem Excel-Arbeitsblatt innerhalb des angegebenen Bereichs ab Bereich.

Zusätzliche Überlegungen:

  • Verwenden Sie Feldnamen anstelle von „*“, um eine optimale Leistung zu erzielen.
  • Verwenden Sie für bestimmte Feldnamen diese Syntax:

    INSERT INTO fdFolio (fdName, fdOne, fdTwo)
    SELECT fdName, fdOne, fdTwo FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh
    Nach dem Login kopieren
  • Wenn die Zieltabelle mehr Felder enthält als die Datenquelle, verwenden Sie NULL für fehlende Werte.
  • Testen Sie den obigen Code mit einem kleineren Datensatz, bevor Sie ihn auf einen größeren anwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Excel-Daten mithilfe von SQL-INSERT-Anweisungen effizient in großen Mengen nach MS Access exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage