如果用户 #1 删除了 Access 2007 数据库(SQL Server ODBC 链接表)中的一条记录,其他用户可能会在该记录中显示 #Deleted#(在数据表视图表单上)。在某些情况下,这可能会导致问题,因为我有在表单的当前事件上运行的代码,并且只是假设存在有效记录(或新记录)。
有没有可靠的方法来检测当前记录是否已被删除?我想将它包装在这样的函数中:
Public Function IsRecordDeleted(ByRef r As DAO.Recordset)
'what goes here?
End Function
我确实在 MSDN 的 DAO 参考中找到了 RecordStatus 属性,但该属性似乎仅在 RecordSet 配置为批量更新时才有效。当我尝试检查它的值时,我得到:运行时错误 3251 - 这种类型的对象不支持操作。
实际上,我在一两年前就在另一个论坛上发布过同样的问题。给出的建议不起作用:
- 计数()
- 记录集的书签和 NoMatch
- 检查 PK 或 FK 字段中的#Deleted