Microsoft Access Club >DAO入門講座 >このページ  サイト内検索


OpenRecordsetメソッド : DAOリファレンス - DAO入門講座



OpenRecordsetメソッドとは、新しいRecordsetオブジェクトを作成し、Recordsetsコレクションに追加するメソッドです。DAOでは、このメソッドを用いてRecordsetオブジェクトを作成します。
  • データベースに、既存のテーブルを元にRecorsSetオブジェクトを作成するには、DatabaseオブジェクトのOpenRecordsetメソッドを用います。

書式と引数

  • Set recordset = object.OpenRecordset {(source), type, options, lockedits}
引数 解説 その他
recordset Recordset オブジェクトを表すオブジェクト変数を指定します。 省略不可
object 既存のオブジェクトを表すオブジェクト変数を指定します。 省略不可
source objectに指定したRecordsetオブジェクトのレコードのソースをを指定します。ソースはテーブル名、クエリ名、またはレコードを返すSQLステートメントです。なお、Recordsetオブジェクトの場合、この引数にはテーブル名のみを指定できます。 省略不可
type 引数recordsetに指定したRecordsetの種類を指定します。省略した時は、引数source値に基づいて適切な値が自動的に設定されます。 省略可
options Recordsetの特性を定数の組み合わせで指定します。省略した時は、何も特性を指定しないことになります。 省略可
lockedits Recordsetのロック状態を定数で指定します。省略した時は、dbPessimistic(Jet ワークスペースの既定値)、dbReadOnly(ODBCDirect ワークスペースの既定値)となります。 省略可
引数の設定値
type
解説
dbOpenTable テーブルタイプのRecordsetオブジェクトを開く(Jetワークスペースでのみ使用可)。 テーブルに対して、レコードの追加、変更、削除を行う。
  • テーブルに登録されているレコードの集まりを表すオブジェクト。テーブルにレコードを追加したり、既存のレコードを編集、削除する時に利用します。
dbOpenDynamic 動的タイプのRecordsetオブジェクトを開く(ODBCDirect ワークスペースでのみ使用可)。
dbOpenDynaset ダイナセットタイプのRecordsetオブジェクトを開く。1つまたは複数のテーブル、クエリに対して、レコードの追加、変更、削除を行う。
  • クエリの実行結果を表すオブジェクト。このオブジェクトにレコードを追加、編集、削除すると、クエリの元になっているテーブルに反映します。
dbOpenSnapshot スナップショットタイプのRecordset オブジェクトを開く。読み取り専用。データの検索、またはレポートの作成に使用する。
  • クエリの実行結果を表すオブジェクト。dbOpenDynasetと異なるところは、レコードの追加、編集、削除を行うことができません。
dbOpenForwardOnly 前方スクロールタイプのRecordsetオブジェクトを開く。レコードのスクロールが前方のみである点以外、dbOpenSnapshotと機能は同等です。
options
解説
dbAppendOnly 新しいレコードを追加することができますが、既存のレコードの編集および削除を行うことはできません (ダイナセットタイプのRecordset オブジェクトでのみ使用可)。
dsbSQLPassThrough SQLステートメントをJet接続型ODBCデータソースに渡して処理する(スナップショットタイプのRecordsetオブジェクトでのみ使用可)。
dbSeeChanges 編集中のデータを他のユーザーが変更できない(ダイナセット タイプの Recordset オブジェクトでのみ使用可)。
dbDenyWrite 他のユーザーからのレコードの修正、追加を拒否する(Recordset オブジェクトでのみ使用可)。
dbDenyRead 他のユーザーからのテーブルデータの読み取りを拒否する(テーブル タイプの Recordset オブジェクトでのみ使用可)。
dbForwardOnly 前方スクロールタイプのRecordsetオブジェクトを作成する(スナップショットタイプのRecordsetオブジェクトでのみ使用可)。
dbReadOnly 他のユーザーからのRecordset変更を拒否する(Jet データベース エンジンでのみ使用可)。
dbRunAsync 非同期クエリを実行する(ODBCDirect ワークスペースでのみ使用可)。
dbExecDirect          SQLPrepareをスキップし SQLExecDirectを直接呼び出してクエリを実行する(ODBCDirect ワークスペースでのみ使用可)。
dbInconsistent 矛盾(他のレコードに影響を与える)を許す更新を可能にする (ダイナセットタイプとスナップショットタイプのRecordsetオブジェクトでのみ使用可)。
dbConsistent 一貫性のある更新(他のレコードに影響を与えない)のみを可能にする (ダイナセットタイプ および スナップショットタイプのRecordsetオブジェクトでのみ使用可)。
lockedits
解説
dbReadOnly ユーザーのRecordsetオブジェクトの変更を拒否する (ODBCDirectワークスペースの既定値)。
dbPessimistic 排他的ロックを行います。(Editメソッドによってページをロックする。Jet ワークスペースの既定値)。
dbOptimistic 共有的ロックを行います。(Updateメソッドを実行時にロックする)。
dbOptimisticValue 共有的同時実行を行う(ODBCDirect ワークスペースでのみ使用可)。
dbOptimisticBatch バッチ更新を可能にする (ODBCDirect ワークスペースでのみ使用可)。

事例-1

Recotdsetで使用しているデータベース名、テーブル名を求めます。

Sub RecordsetCK()
    
    Dim db As DAO.Database '--- A
    Dim rs As DAO.Recordset '--- B
    
    Set db = CurrentDb ' --- C
    Set rs = db.OpenRecordset("請求情報リスト", dbOpenTable) '--- D
    
    MsgBox "対象とするデータベース : " & db.Name & vbNewLine & _
            "対象とするテーブル : " & rs.Name & "テーブル"
    
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing
    
End Sub
解説
  1. Databaseのオブジェクト変数 db を宣言します。
  2. Recordsetのオブジェクト変数 rs を宣言します。
  3. Setステートメントを用いて、オブジェクト変数 db に、開いているデータベースへの参照を設定します。
  4. Setステートメントを用いて、オブジェクト変数 rs に、テーブルタイプで「請求情報リスト」のレコードセツトへの参照を設定します。
  5. メモリーを開放します。Closeメソッドで閉じるだけではメモリーが解放されません。

事例-2

「取引先別売上げリスト」フィールドの全レコードをメッセージボックスに表示します。

Sub RecordAllShow()
        
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim varRet As Variant
    Dim StrMsg As String
    
    Set db = CurrentDb
    Set rs = db.OpenRecordset("取引先別売上げリスト", dbOpenTable)
    
    '
    Do Until rs.EOF '--- A
        varRet = rs!ID & " , " & rs!取引先 & " : \" & rs!売上金額
        StrMsg = StrMsg & vbNewLine & varRet
        rs.MoveNext
    Loop
    
    MsgBox StrMsg ' --- B
    
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing
        
End Sub
解説
  1. レコードセツトを用いて、取引先フィールドの全データを変数に格納します。なお、取引先別売上げリストデータは、下記のようなものです。

  1. 下記のように、全レコードをメッセージボックスに表示させます。

関連ページ

 

2004/05/02

ページの先頭へ 前ページへ戻る

 


OpenRecordsetメソッド : DAOリファレンス - DAO入門講座


 

-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。