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

Posted

技术标签:

【中文标题】插入锁定表时记录集未显示错误【英文标题】:recordset not showing an error when inserting to locked table 【发布时间】:2012-05-18 12:28:51 【问题描述】:

使用 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 似乎没有任何等价物。

【问题讨论】:

测试如何锁定?例如,用户是在设计视图中获得了表,打开了独占,还是只是一个记录锁? 【参考方案1】:

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

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

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

【讨论】:

以上是关于插入锁定表时记录集未显示错误的主要内容,如果未能解决你的问题,请参考以下文章

字段集未正确显示

虹膜数据集未显示“物种”列

SQL Server 触发器插入导致锁定直到提交

django 查询集未显示准确结果(构建新闻应用程序)

分析视图中的多维数据集未在 Saiku Analytics 中显示

将多条记录插入 SQL 表时,它不遵循顺序