记录集在插入锁定表时未显示错误

时间:2012-05-09 23:12:39

标签: vba access-vba dao recordset

使用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生成类似的错误然后我可以处理?据我所知,似乎没有任何与Recordset dbFailOnError的等价物。

1 个答案:

答案 0 :(得分:1)

我认为你需要设置记录集类型和锁定类型,如果你想触发错误,例如:

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

您可以测试这些变体的不同变体,直到找到有效的变体,帮助中内置的访问将列出所有可用选项。