HOME > 即効テクニック > AccessVBA > データ操作 > カレントレコードを表示する

即効テクニック

データ操作

カレントレコードを表示する

(Access 2000/2002/2003)
●概要●
構文  expression.OpenRecordset (Name, Type, Options, LockEdit)

設定項目        内容
expression	Databaseオブジェクトを指定[省略不可]
Name		レコードのソースを示す文字列(テーブル名、クエリ名、
		SQLステートメント)を指定[省略不可]
Type		Recordsetの種類を示す定数を指定[省略可能]
Options		Recordsetの特性を示す定数を指定[省略可能]
LockEdit	Recordsetのロック状態を決定する定数を指定[省略可能]

・引数<Type>に指定する定数

定数		  説明
dbOpenTable	  テーブルタイプ(既定値)
dbOpenDynaset	  ダイナセットタイプ
dbOpenSnapshot	  スナップショットタイプ
dbOpenDynamic	  動的タイプ
dbOpenForwardOnly  前方スクロールタイプ

DatabaseオブジェクトのOpenRecordsetメソッドを使用して新しくRecordsetオブジェクトを作成します。Recordsetオブジェクトはテーブルのレコードや、クエリの実行結果のレコードの操作に使用します。Recordsetオブジェクトにはレコード(行)とフィールド(列)があり、現在のレコード、つまり現在操作の対象となっているレコードを「カレントレコード」と呼びます。
各々のフィールドは次のいずれの構文でも参照することができます。Valueプロパティは既定のプロパティのため、省略することができます。

	・オブジェクト名![フィールド名].Value
	・オブジェクト名![フィールド名]
	・オブジェクト名("フィールド名")
	・オブジェクト名.Fields("フィールド名")
	・オブジェクト名.Fields.Item("フィールド名")
	・オブジェクト名(N) (N:0から始まるフィールドのインデックス番号)

ここでは、DatabaseオブジェクトのOpenRecordsetメソッドを使用します。引数に「社員テーブル」を、引数に「dbOpenTable(テーブルタイプ)」を指定してRecordsetオブジェクトを作成し、変数に代入します。OpenRecordsetメソッドを使用するとカレントレコードは最初のレコードになるため、Recordsetオブジェクトの各フィールドを表示するとメッセージダイアログには最初のレコードが表示されます。

●設定●
動作確認をするためには、Visual Basic Editorのメニューから[ツール]→[参照設定]コマンドを選択し、[参照設定]ダイアログボックスで「Microsoft DAO 3.6 Object Library」にチェックを入れてください。

●サンプル●
Public Sub DispRecordSample()
    Dim myDB As Database
    Dim myRS As DAO.Recordset
    'カレントデータベースを変数に代入する
    Set myDB = CurrentDb
    '[社員テーブル]をデータソースとしてレコードセットを開く
    Set myRS = myDB.OpenRecordset("社員テーブル", dbOpenTable)
    'レコードセットの内容を表示する
    MsgBox "***社員テーブルのレコード***" & vbCrLf & _
             "社員コード : " & myRS!社員コード & vbCrLf & _
             "部署コード : " & myRS!部署コード & vbCrLf & _
             "名前 : " & myRS!名前 & vbCrLf & _
             "職種 : " & myRS!職種 & vbCrLf & _
             "入社年月日 : " & myRS!入社年月日
    'レコードセットを閉じる
    myRS.Close
End Sub