●概要●
構文 expression.OpenRecordset(source, type, options, lockedits)
設定項目 内容
expression Databaseオブジェクト[省略不可]
source レコードのソースを示す文字列(テーブル名、クエリ名、
SQLステートメント)を指定[省略不可]
type Recordsetの種類を示す定数を指定[省略可能]
options Recordsetの種類を示す定数を指定[省略可能]
lockedits Recordsetのロック状態を決定する定数を指定[省略可能]
DatabaseオブジェクトのOpenRecordsetメソッドを使用して、データベース内に既に定義されたクエリを実行します。サンプルでは、社員テーブルから職種がマネージャのレコードを抽出する、定義済みの「マネージャ抽出」クエリを実行します。その結果をデータソースとしてRecordsetオブジェクトを作成し、Do While...Loopステートメントでレコードセットの終わりまでレコードの内容を表示します。
Recordsetオブジェクトの各々のフィールドは次のいずれの構文でも参照することができます。Valueプロパティは既定のプロパティのため、省略することができます。
・Recordset![フィールド名].Value
・Recordset![フィールド名]
・Recordset("フィールド名")
・Recordset.Fields("フィールド名")
・Recordset.Fields.Item("フィールド名")
・Recordset(N) (N:0から始まるフィールドのインデックス番号)
●サンプル●
'定義済みのクエリを実行する
Public Sub Sample()
Dim myDB As Database
Dim myRS As DAO.Recordset
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'定義済みのクエリを実行してレコードセットを開く
Set myRS = myDB.OpenRecordset("マネージャ抽出", dbOpenDynaset)
'レコードセットの内容を表示する
Do While Not myRS.EOF
Debug.Print myRS!社員コード & " " & myRS!名前 & " " & myRS!職種
myRS.MoveNext
Loop
'レコードセットを閉じる
myRS.Close
End Sub
●補足●
抽出結果は[イミディエイト]ウィンドウに表示されます。