2012-05-09 38 views
2

使用Access 2010,WinXP。我试图用插入到锁定表时记录集不显示错误

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如果test被另一个用户锁定,程序运行,并且不更新该表(这是罚款),也不会产生错误。如果我执行与SQL插入语句相同的操作,例如

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

然后我得到一个错误信息,告诉我插入失败,原因是锁冲突。我怎样才能使recordset.update产生一个类似的错误,然后我可以处理?就我所知,似乎没有任何与Recordset有关的dbFailOnError

+0

测试如何锁定?例如,用户是否在设计视图中获得了表格,是否打开了排他性,或者只是记录锁定? – Fionnuala

回答

1

我认为你需要看看在设置记录类型和锁类型,如果要触发错误的如:

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

您可以测试出这些不同的变化,直到找到工作的人,建立在帮助中的访问将列出所有可用的选项。