即効テクニック

データベース・データ保護

ロックを設定する

(Access 2000/2002/2003)
●概要●
構文  expression.LockType	取得/設定

設定項目        内容
expression      Recordsetオブジェクトを指定[省略不可]

同時実行制御の種類を指定、または、取得します。次の定数を使います。

・LockTypeプロパティの定数

定数                    説明
adLockReadOnly          読み取り専用(データの更新は不可)(既定値)
adLockPessimistic       レコードごとの排他的ロック(データソースでロック)
adLockOptimistic        レコードごとの共有的ロック
                        (Updateメソッドを呼び出した場合のみ共有的ロック)
adLockBatchOptimistic   共有的バッチ更新

LockTypeプロパティはRecordsetを開く前に設定します。Recordsetを開いているときのLockTypeプロパティは読み取り専用になります。
次のコードは、共有的ロックを設定してからレコードセットを開いています。このサンプルを実行する場合は、フォルダ名とデータベース名をお使いの環境に合わせてください。

●サンプル●
Sub LockSample()
    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.LockType = adLockOptimistic
    'レコードセットを開く
    myRS.Open "商品tbl", myCN
    'ここにテーブル操作の処理を記述する
     'レコードセットを閉じる
    myRS.Close
    myCN.Close
End Sub