ホームページ >データベース >mysql チュートリアル >VBA を使用して大規模な Excel データセットを MS Access にインポートするパフォーマンスを向上するにはどうすればよいですか?
Excel VBA を使用した MS Access へのデータのインポート: パフォーマンスの向上
Excel から MS Access テーブルにデータをエクスポートすると、パフォーマンスが低下する可能性があります大量のレコードを扱うときに問題が発生します。ただし、プロセスを最適化する方法はあります。
提供された VBA コードは各行をループして Access テーブルにデータを挿入します。これは反復的なプロセスであり、大規模なデータセットでは時間がかかる可能性があります。パフォーマンスを向上させるには、一括挿入に単一の SQL INSERT ステートメントを使用することを検討してください。
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
実装:
この最適化されたコードにより、各行をループする必要がなくなり、大規模なデータセットのパフォーマンスが大幅に向上します。
以上がVBA を使用して大規模な Excel データセットを MS Access にインポートするパフォーマンスを向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。