Heim >Datenbank >MySQL-Tutorial >Wie kann Excel VBA Massendaten in MS Access einfügen, um den Datenexport zu beschleunigen?
Ursprünglich nutzte Ihr Code Schleifen, um Daten aus einem Excel-Arbeitsblatt in eine MS Access-Tabelle zu exportieren. Während dieser Ansatz für relativ kleine Datensätze sinnvoll ist, wird er bei der Verarbeitung großer Datenmengen weniger effizient.
Um diese Einschränkung zu überwinden, haben Sie nach einer alternativen Methode gesucht, die eine iterative Verarbeitung vermeidet. Bei der Erkundung sind Sie auf eine Lösung gestoßen, die eine einzige SQL-INSERT-Anweisung verwendet, um Daten in großen Mengen in die Access-Tabelle einzufügen.
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
Dieser Ansatz hat die Exportzeit erheblich verkürzt, was sich in Ihrer Beobachtung zeigt, dass 27.648 Datensätze eingefügt wurden in die Access-Tabelle in nur 3 Sekunden.
Während Sie beim Angeben bestimmter Feldnamen auf Schwierigkeiten gestoßen sind, anstatt sich auf „SELECT *“ zu verlassen, tun Sie dies weiterhin Erkunden Sie verschiedene Methoden, um das gewünschte Ergebnis zu erzielen.
Das obige ist der detaillierte Inhalt vonWie kann Excel VBA Massendaten in MS Access einfügen, um den Datenexport zu beschleunigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!