过时的参考是否会在查询数据中引起错误



我有一个情况,在将数据更新为MS Access中的表中存在错误。

在工作中的服务器文件上,有一个以MDB格式的锁定数据库文件,除非创建快捷方式在其属性路径中添加security.mdw,否则根本无法访问该文件。在该数据库文件上,文件包含添加作业,更新作业并从MySQL ODBC ANSI驱动程序存储的表中删除作业的表单。它如何不是问题,因为每当我在Windows 10上测试函数(在form open上显示错误)和慢慢的Windows 7计算机,该计算机在表单上引起"此控件中没有对象"开放,它们运行正确。

但目前我有一个问题,说明使用同一锁定的MDB文件,当其他人更新工作状态时,更新工作数据的问题出错了,因为网站上(显示MySQL表数据)错误的数据显示了。在另一个版本的表单函数(保存为.ACCDB(和可编辑))上,我有以下参考:

1/应用程序的视觉基础
2/Microsoft Access 16.0对象库
3/ole自动化
4/Microsoft ActiveX数据对象6.1库
5/Microsoft DAO 3.6对象库
6/Microsoft Windows Common Controls-2 6.0

在锁定的MDB文件上,引用为...

1/应用程序的视觉基础
2/Microsoft Access 16.0对象库
3/ole自动化
4/ Microsoft ActiveX数据对象2.1库
5/Microsoft DAO 3.6对象库
6/Microsoft Excel 16.0对象库
7/Microsoft Word 16.0对象库
8/Microsoft表格2.0对象库

由于MDB文件已锁定,因此每次打开文件时,它甚至都无法保存对参考列表的任何更改。因此,即使我添加了可怕的msconctl.ocx文件,该文件在Windows 7系统上引起了"此控件中没有对象",但仍导致该错误。

所以我的问题是标题所述。过时的参考会导致在查询数据时发生错误吗?

由于您同时拥有DAO和ADO,因此您的代码应始终毫无例外。不要依靠参考优先级为您做正确的事情。

而不是Dim rs As Recordset,请执行Dim rs As DAO.RecordsetDim rs As ADODB.Recordset

另外,MDB已锁定并且您提到security.mdw的事实,听起来像是使用旧的工作组安全性。我会摆脱它(如今它没有安全价值)并更新引用。从那以后,Dao和Ado都已更新;您应该使用最新的DAO(现在称为" Microsoft Office Access数据库引擎库")和ADO 6.1。

最新更新