KENスクールブログ | パソコン教室・パソコン講座なら個別指導のKENスクール

BLOGKENスクールブログ

  1. KENスクール TOP >
  2. KENスクールブログ > プログラム > ADOを使用してAccessデータをExcelに取り込む【中級者向け】

プログラム

ADOを使用してAccessデータをExcelに取り込む【中級者向け】

kave-638249_640

今回はADOを使用してAccessのデータをExcelに取り込む方法をご紹介します。
環境は、Access2010とExcel2010。
取り込むAccessのファイル名は「顧客管理.accdb」、保存先はCドライブの直下のAccessフォルダの中です(C:\Access\顧客管理.accdb)。

動作イメージは以下のとおりです。
Accessの「T_顧客リスト」テーブルのデータをExcelに取り込み、「顧客リスト」シートに表示させます。

Accessの「T_顧客リスト」テーブル
image1

Excelブックの「顧客リスト」シートimge2-3

ADO(ActiveX Data Object)とは

Accessだけでなく、Oracle、MySQLなどの様々なデータベースに対して共通の手法で操作が出来る仕組みです。ExcelからADOを使用するためには、参照設定が必要です。
事前準備としてVBEの「ツール」メニュー → 「参照設定」をクリックし、「参照設定」ダイアログボックスを表示し、「Microsoft ActiveX Data Objects X.X Library」にチェックを入れます(X.Xはバージョン)。

サンプルコード

コード解説

1. Accessデータベースに接続します。

Accessデータベースへ接続するには、ConnectionオブジェクトのOpenメソッドを使用します。接続文字列内の「Data Source」には接続するAccessファイルのパスを記述します。

2. ConnectionオブジェクトのExecuteメソッドを使用して、レコードセットを取得します。

今回は「顧客管理.accdb」の「T_顧客リスト」テーブルに対して、「性別」列の値が「女」の行を取得する問合せを発行しています。

3. 問合せの結果をExcelの「顧客リスト」シートに出力します。

今回は2行目から出力します。

4. データベースを切断します。

Closeメソッドを使用し、レコードセットとConnectionオブジェクトを閉じます。
また、それぞれの変数に「Nothing」キーワードを代入し、オブジェクトへの参照を解除します。

以上、今回はADOを使用してAccessのデータをExcelに取り込む方法でした。

この記事に関連する講座

高度で本格的なVBA開発者を目指す!

詳しくはこちら