ADO超入門
ADOは、いろいろなデータを簡単に利用するための機能です。Accessのデータベースはもちろん、SQL Server、MySQLといった各種のデータベースから、Excelワークブック、テキストファイルなどの幅広い種類のデータを扱えます。また、データの読み書きや管理はADOの機能を使って行うため、データの種類を意識せず容易にデータを扱えるのも特徴です。
ADOとは
A
ctiveX
D
ata
O
bjects(略して
ADO
)とは、さまざまなデータソースを簡単に利用できるようにするためのプログラミングインターフェースです。Accessデータベース、SQL Server、MySQLなどの各種データベースの読み書きはもちろん、Excelワークブック、テキストファイルの読み書きも行えます。
ADOの利点は、どのデータソースであっても同じ方法・手段で操作できるということです。ADOがデータソースとプログラムの仲介役を担ってくれるため、プログラム上ではデータの違いをほとんど意識する必要がありません。強いていえば、使用するデータソースのクセや特徴を活かすといった細かな違いを意識するくらいで、プログラムに記述するADOのプロパティやメソッドは同じです。そのため、データソースを変更したときのプログラムの変更も容易です。
図 1
ADOのやくわり
OLE DBプロバイダ・ODBCドライバとは
ADOは、OLE DBプロバイダやODBCドライバというAPIを使って各種のデータソースにアクセスします。ODBCは主にリレーショナルデータベースを対象としたAPI、OLE DBはODBCの発展型で、リレーショナルデータベースだけでなく、非リレーショナルデータベースや電子メールといった幅広いデータソースを扱えるAPIです。
VBAのプログラムでは、使用するデータソースに応じたOLE DBプロバイダやODBCドライバをADOに指定して目的のデータソースにアクセスします。
図 2
OLE DBプロバイダ・ODBCドライバとは
ADOとDAOの違い
データベースを操作する機能は、ADOの他にもDAOがあります。ADOとDAOはデータベースを操作するという基本的な部分は同じですが、機能や役割は大きく異なります。DAOがAccessデータベースに特化したやくわりを担うのに対し、ADOのやくわりはAccess・SQL Server・MySQLといったいろいろなデータソースが扱えることです。
ADOとDAOの使い分けは簡単です。Accessデータベースに特化した機能を使いたいときはDAOを、Accessデータベースを含めてデータソースに対するデータの読み書きを行うならADOを使います。
図 3
DAOとADOの違い
・Accessデータベース専用です
・Accessデータベース固有の機能を使用できます
・他の形式のデータベースは直接利用できません
・いろいろなデータソースを扱えます
・データソースが異なっても、あまり意識せず使用できます
Access VBA Tips+α
ADOデータアクセス編
■VBAとADOによるデータベース操作の基本
ADO超入門
ADOの基本オブジェクト
参照設定を行いADOを使用できるようにする
ODBCデータソースアドミニストレータの使い方
■ADOレコードセットの作成と操作
レコードセットオブジェクトを作成する
CreateObjectでレコードセットオブジェクトを作成する
テーブルやクエリを開く/Open
カーソルの場所を設定する/CursorLocation
レコードセットを閉じる/Close
フィールドの値を取得・参照する/FieldsとValue
フィールド名やその他の情報を取得する/Fields
レコードの順読み込みを行う/MoveNext
レコードの逆順読み込みを行う/MovePrevious
読み込み終了を判定する/EOFとBOF
先頭レコードに移動する/MoveFirst
最後のレコードに移動する/MoveLast
カレントレコードを移動する/Move
条件と一致するレコードを検索する/Find
条件と一致する先頭や最終のレコードを検索する
フィルタや検索条件の書き方
レコードを挿入する/AddNew
レコードを更新する/Update
レコードを削除する/Delete
挿入や更新などのレコード編集を取り消す/CancelUpdate
レコードが何件あるかを調べる/RecordCount
レコードの絞り込みを行う/Filter
レコードの並べ替えを行う/Sort
取得する最大レコード数を制限する/MaxRecords
レコードセットのクローン(コピー)を作成する/Clone
ブックマークを使ってレコードを記録する・移動する
/Bookmark
■ADOコネクションの作成と操作
ADOコネクションオブジェクトを作成する
CreateObjectでADOコネクションを作成する
カレントプロジェクトのコネクションを使用する
データソースに接続する/Open
データソースを閉じる/Close
OLE DBプロバイダでデータソースに接続する/Open
ODBCドライバでデータソースに接続する/Open
SELECT命令を実行しテーブルを読み込む/Execute
レコードの追加・更新・削除を行う/Execute
トランザクション処理を行う
/BeginTrans CommitTrans RollbackTrans
コネクションにカーソルの場所を設定する/CursorLocation
コネクションの状態を調べる/State
接続タイムアウトを設定・取得する/ConnectionTimeout
コマンド実行タイムアウトを設定・取得する
/CommandTimeout
ODBCデータソースを使って接続する
データを分離した仕組みでの連結フォーム
■ADOとワークブック/CSV/テキストファイル
Excelブックのデータを開く
ワークシートのデータを読み込む
ワークシートのデータを更新する・挿入する
CSVやテキストファイルを開く
CSVやテキストファイルを読み込む
CSVやテキストファイルに書き込む
CSVやテキストファイルのレイアウトを定義/Schema.ini
順編成ファイルを読み込む
順編成ファイルを作成する
行順編成ファイルを読み込む
行順編成ファイルを作成する
効率よく行順編成ファイルを作成する
■DAOデータアクセス編
■ADOデータアクセス編
■クエリー(SQL)編
■フォーム・サブフォーム編
■レポート編
■Printerオブジェクト編
■コントロール基本編
■テキスト/コンボ/リストボックス活用編
■メニューバー・ツールバー編
■マクロ(DoCmd)編
■複数値と添付ファイル編
■Accessの操作と便利な機能編
■プログラミングサンプル編
■番外編1.HTTPやFTPを使うには
■サイト内を検索
Happy! Happy! Islandその他のコンテンツ
■
VBAプログラミング系
Access VBAのTipsとサンプル
Excel VBA(エクセルマクロ)のTipsとサンプル
VBScript/JScriptのTipsとサンプル
プログラミング基礎・入門
■
入門と使い方
Access入門と使い方講座97~2003/2007/2010/2013
Access VBAプログラミング入門 2013/2010/2007/2003
Excel入門と使い方講座2013/2010/2007
■
ダウンロードコーナー
AccessとExcelのフリーソフト
■
その他
質問受け付けコーナー「管理人に聞いてみよう♪」
BBS過去ログ広場
HTMLの書き方
管理人プロフィール
┗
twitter(外部サイト)
管理人へメール
■
別館(海外向けサイト)
Excel Games and Access Games
VBAプログラミング&Tips集の
"Happy! Happy! Island"トップページへ
[PR]管理人が心を込めて書いた本
■
最速攻略 AccessVBAサンプル大全集
Access 2013/2010/2007対応版
■
速効!ビジネスPC Accessマクロ&VBA
Access2013/2010/2007対応
■
最速攻略Accessクエリ テクニック大全集
Access2013/2010/2007対応
■
AccessVBAマクロ超入門講座 Access2010/2007対応
■
ExcelVBA超入門講座 Excel2010/2007対応
■
ExcelVBAでできる RPGゲーム作成入門
■
[改訂新版]実践COBOLプログラミング入門
■
最速攻略 VBScriptサンプル大全集
Windows7/Vista/XP/2000対応
(
アマゾン
へジャンプします)
[PR]注目の情報
転職成功の秘訣はサイトに公開されない求人にあった
採用人数が少ない・専門性が高い・競合他社に知られたくないなど、魅力的な求人情報ほど一般には公開できないのです。
株デビューするなら SBI証券!
業界屈指の格安手数料と業界最高水準のサービスで口座数はネット証券 No.1!口座開設料・管理料は無料。
GDOゴルフショップ
ゴルフ用品のオンラインメガストア。品揃え10万点!
アスタリフトコラーゲンドリンク
毎日続けるものだから・・まとめ買いで最大10%OFF!集中コラーゲンケアで、ハリと潤いの溢れる毎日へ。
[リンク]IT関連情報サイトなど
gihyo.jp
技術評論社提供のIT関連コンテンツサイト
Copyright(C) 1999-2015
結城圭介
(Ver.3.51) All rights reserved