即効テクニック |
●概要● 構文 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
●補足● 抽出結果は[イミディエイト]ウィンドウに表示されます。