§ ExcelVBAでAccessデータを操作する(4) 〜 ADO編 〜
前回(3)で、ADOを使用しての基本的な操作を行いました。で、今回はその応用編として、ExcelよりAccessへの
データ転送及びAccessよりExcelへのデータ転送を少しお話します。
◎ ADO(ActiveX Data Objects)の応用(1) < Excel → Access >
ExcelよりAccessへのデータ転送は、DAOと同じくAddNewで行います。以下にそのソース例を記します。
(( 詳細は、ADOのヘルプで確認下さい。 ))
データベースの開閉及びテーブルの開閉を除けば、ほぼDAOの操作と同じです。
◎ ADO(ActiveX Data Objects)の応用(2) < Access → Excel >
Access よりExcel へのデータ転送(データのセルへの表示)は、CopyFromRecordsetメソッドを使って
行います。以下にそのソース例を記します。((
詳細は、ADOのヘルプで確認下さい。 ))
(5)の「テーブル情報の表示」の部分をDAO行うと、以下のようになります。
(( 上記の解説は、“ExcelVBAでAccessファイルを操作する(2)”に掲載しています。))
と、まあ、ADOでは1行で済みます。すばらしい!!
でぇ、“ExcelVBAでAccessファイルを操作する(2)”に習って、サンプルファイルを作ってみました。
もちろん、VBAソースはプロテクトをしておりませんので、ご自由に変更して下さい。
< Excel → Access
>への部分。登録ボタンを押すとデータがAccessファイルに転送されます。
↓
< Access → Excel
>への部分。“データの表示”ボタンを押すとAccessデータが表示されます。
サンプルのダウンロードは、この下のAdoSamp.lhzをクリックして下さい。
< AdoSamp.lhzの注意点 >
圧縮ファイルAdoSamp.lhzには、以下の2っのファイルが入っています。
(1) 住所録.xls → ADOを操作するExcelファイル( 本体 )
(2) SampDB.mdb → ADOで操作されるAccessファイル(
データベース )
(1)のところで、接続するデータベースのPATHを“C:¥My Documents¥SampDB.mdb”としています。
ですから、(2)のファイルを上記PATHへコピーして下さい。それがイヤなら、設定PATHをあなたの好きな
通りに変更して下さい。
(注)尚、上記2ファイルはExcel2002とAccess2002で作成しております。それ以前のバージョンでの動作
確認はしておりません。
最後に、私自身としてはADOよりDAOの方が扱い易いと思っています。それは、私がExcelVBAを始めた頃の
ExcelにはADOという機能なかったからです。でも、ExcelでAccessファイルを操作するだけならDAOで十分で
す。ですが、操作対象をSQLSeverやOracleもとお考えなら、ADOを使って下さい。また、Webの方でVBScript
やASPをやってみたいと思っているなら、ADOは必須です。
まだまだ皆さんにお伝えしたいことは山ほどありますが、今回はこれにて終了させて頂きます。
<< 追伸
>>
「 ADO(ActiveX Data Objects)の応用(2) < Access → Excel
> 」のソース例のところで、
(5)がWorksheets(“表示”).Range(“A2”).CopyFormRecordset Rs となっていますが、これは
CopyFromRecordsetの誤入力です。お詫びして訂正させて頂きます。
ExcelVBAでAccessデータを操作する(1) 〜 DAO基礎編 〜
ExcelVBAでAccesデータを操作する(2) 〜 DAO応用編 〜
ExcelVBAでAccesデータを操作する(2) 〜 ADO基礎編 〜
ExcelVBAでWord(.doc)ファイルを操作する(1) 〜 むかしなつかしDDE編 〜