ホームページ > データベース > mysql チュートリアル > Excel VBA はデータを MS Access に一括挿入してデータをより速くエクスポートするにはどうすればよいですか?

Excel VBA はデータを MS Access に一括挿入してデータをより速くエクスポートするにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-05 06:25:43
オリジナル
654 人が閲覧しました

How Can Excel VBA Bulk Insert Data into MS Access for Faster Data Export?

Excel VBA を使用して MS Access テーブルにデータを迅速かつ効率的にエクスポートする

元々、コードはループを利用して Excel ワークシートから MS Access テーブルにデータをエクスポートしていました。このアプローチは比較的小さなデータセットには有効ですが、大量のデータを処理する場合は効率が低下します。

この制限を克服するために、反復処理を回避する代替方法を探しました。調べてみると、単一の SQL INSERT ステートメントを使用して Access テーブルにデータを一括挿入するソリューションを見つけました。

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
ログイン後にコピー

このアプローチにより、エクスポート時間が大幅に短縮され、27,648 レコードが挿入されたことがわかります。

「SELECT」に頼らずに特定のフィールド名を指定する際に課題が発生しましたが、 *、「望ましい結果を達成するためにさまざまな方法を模索し続けます。

以上がExcel VBA はデータを MS Access に一括挿入してデータをより速くエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート