2

Access 2010、WinXP を使用しています。testテーブルを更新しようとしています

Sub testUpdate()
Dim rs As Recordset
Dim db As DAO.Database

Set db = CurrentDb
Set rs = db.OpenRecordset("test")

With rs
 .AddNew
 !field1 = "abc"
 !field2 = "def"
 .Update
End With

End Sub

が別のユーザーによってロックされている場合test、プロシージャが実行され、テーブルは更新されませんが (問題ありません)、エラーも発生しません。SQL挿入ステートメントと同じ操作を行うと、たとえば

insert into test (field1,field2) values ("abc","def")

次に、ロック違反が原因で挿入が失敗したことを知らせるエラー メッセージが表示されます。recordset.update同様のエラーを生成して処理できるようにするにはどうすればよいですか? dbFailOnError私が知る限り、Recordset に相当するものはないようです。

4

1 に答える 1

1

エラーの例をトリガーしたい場合は、レコードセットの種類とロックの種類の設定を確認する必要があると思います。

Currentdb.OpenRecordset("test", dbOpenDynaset, dbPessimistic,)

機能するものが見つかるまで、これらのさまざまなバリエーションをテストできます。組み込みのヘルプにアクセスすると、使用可能なすべてのオプションが一覧表示されます。

于 2012-05-10T08:09:28.147 に答える