●概要●
構文 expression.Open Source, ActiveConnection, CursorType, LockType,
Options
設定項目 内容
expression Recordsetオブジェクトを指定[省略不可]
Source テーブル名、SQLステートメントを指定[省略可能]
ActiveConnection 有効なConnectionオブジェクトを指定[省略可能]
CursorType カーソルタイプを定数で指定[省略可能]
LockType 同時実行制御の種類を定数で指定[省略可能]
Options 引数を評価する方法を定数で指定[省略可能]
Openメソッドは指定したテーブルの内容またはクエリーの内容をレコードセットに格納します。Closeメソッドはレコードセットを閉じます。引数には次の表の定数を指定します。カーソルタイプの詳細については、Cursorプロパティの項で紹介しています。
・引数に指定する定数
定数 説明
adOpenForwardOnly 前方スクロールタイプ(既定値)
adOpenKeyset キーセットカーソル
adOpenDynamic 動的カーソル
adOpenStatic 静的カーソル
引数には次の定数を指定します。ロックタイプの詳細については、Lockプロパティの項で紹介しています。
・引数に指定する定数
定数 説明
adLockReadOnly 読み取り専用(既定値)
adLockPessimistic レコードごとの排他的ロック
adLockOptimistic レコードごとの共有的ロック
adLockBatchOptimistic 共有的バッチ更新
引数には次の定数を指定します。
・引数に指定する定数
定数 説明
adCmdText 引数をコマンド文字列として評価
adCmdTable 引数に指定したテーブルからすべてのレコー
ドを取得(ADOがSQLを自動生成する)
adCmdTableDirect 引数に指定したテーブルからすべてのレコー
ドを取得(プロバイダがレコードを取得)
adCmdStoredProc プロバイダが引数をストアドプロシージャと
して評価
adCmdUnknown 引数の種類が不明であることを指定
adCmdFile 引数に指定したファイルから保存された
Recordsetを取得
adCmdAsyncExecute 引数を非同期で実行
adCmdAsyncFetch ローカルメモリにキャッシュした残りのレコードを非
同期でフェッチ。フェッチされたことがないレコード
が要求された場合は、要求されたレコードが利用可能
になるまでメインスレッドがブロックされる
adCmdAsyncFetchNonBlocking フェッチ中にブロックされたことがないメインスレッ
ドを指定
次のコードは、「D:\AccessVBA」フォルダの「Sample1.mdb」データベースの「商品tbl」テーブルをRecordsetに読み込んでいます。このサンプルを実行する場合は、フォルダ名とデータベース名をお使いの環境に合わせてください。
●サンプル●
Sub TableOpenSample()
Dim myCN As New ADODB.Connection
Dim myRS As New ADODB.Recordset
myCN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\AccessVBA\Sample1.mdb"
myCN.Open
'レコードセットを開く
myRS.Open "商品tbl", myCN
'最初のレコードを表示
MsgBox myRS!商品名
'ここにテーブル操作の処理を記述する
'レコードセットを閉じる
myRS.Close
myCN.Close
End Sub