一些工作多年的代码突然开始产生意外(和错误)结果。代码以一种形式运行,类似于:
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "docId = " & strContainsDocIdNumber
Me.Bookmark = rs.Bookmark
此代码通常会将用户带到正确的记录中。最近它开始表现不正常,转向完全不相关的记录。例如而不是去DocId 66345,它转到DocId 1042(总是小数字) 我确实尝试逐步调试,检查数值,没有任何线索 我还重新索引了SQL Server 2008R2数据库中的所有表,并刷新了表链接,没有任何改进 任何提示或建议?
编辑:我通过使用DoCmd.FindRecord解决了这个问题,我很确定我的代码不是原因,因为它工作了几年没有问题。我正在寻找有关Access - SQL Server交互错误的线索,如this one。
答案 0 :(得分:1)
我遇到过ms-access中的错误,例如典型场景中的错误
我通常会尝试以下
紧凑并修复
反编译(读一下,看起来没问题,http://www.fmsinc.com/microsoftaccess/errors/Bad_DLL_Calling_Convention.asp)
将包含麻烦代码的对象复制到新副本中并删除旧副本,将新副本重命名为旧名称。检查bug是否已经消失
将所有对象导入新创建的新访问数据库