处理“不是有效的书签。”错误,记录已损坏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理“不是有效的书签。”错误,记录已损坏相关的知识,希望对你有一定的参考价值。

我有一个数据库有一些损坏的记录。查看Access中的表时,记录在字段中显示“#Error”。同时弹出一个“非有效书签”对话框。在某些VBA代码中处理这些记录时,我得到相同的错误(错误号是3159)。我的问题是:如何在VBA中检测这些损坏的记录?我可以在不捕获特定错误的情况下执行此操作吗?有没有办法使用SQL我可以删除这些记录?我试过“紧凑和修理”,它没有触及它们。

答案

我试图使用VBA删除违规记录但没有成功。代码删除后记录仍然存在。我能够通过手动删除一条记录然后使用“紧凑和修复”来解决这个问题。我猜,这是我必须为客户做的事情。感谢大家。

另一答案

对于数据库损坏的IMO,最好的解决方案是创建一个新的空数据库,并从损坏的数据库中导入所有对象。

另一答案

也许:

Sub CheckForErr(tname)
Dim rs As DAO.Recordset
Dim db As Database

Set db = CurrentDb

If Left(tname, 4) <> "Msys" Then

Set rs = db.OpenRecordset(tname)

With rs
   Do While Not .EOF
        For Each fld In rs.Fields
            If IsError(rs(fld.Name)) Then
               Debug.Print "Error"
            End If
        Next
        .MoveNext
    Loop
End With


rs.Close
Set rs = Nothing
End If

End Sub

以上是关于处理“不是有效的书签。”错误,记录已损坏的主要内容,如果未能解决你的问题,请参考以下文章