最近我开始在PC上运行旧项目,尝试运行该项目,但出现了错误:
Your Microsoft Office Access database or project contains a missing or broken reference to the file 'MSADODC.OCX' version 6.0
* To ensure that your database or project works properly, you must fix this reference.
两年后我已经恢复了这个旧项目,所以我不知道我的错误可能在什么代码上
为什么会出现此错误以及如何解决?
答案 0 :(得分:2)
丢失或损坏的引用并不是您的VBA代码中的错误,而是一种错误,表明您在项目中使用的库(或本例中的ActiveX控件)丢失。
这意味着MSADODC.OCX ActiveX控件文件不在Access期望的位置,也无法通过Windows注册表中该控件的注册来解析该位置。
您可以查看您的引用以及Access认为MSADODC.OCX文件应位于的路径:
Tools
菜单,然后选择References
您将获得一个类似于以下内容的对话框:
请注意列出的几个参考文献旁边的MISSING:
文本。这意味着Access无法解析这些库。当您单击MISSING
引用时,底部将显示Access希望该文件所在的路径。
您的MSADODC.OCX ActiveX控件应显示在“引用”对话框中。
要解决MISSING参考的问题,您可能需要重新安装VB6或重新注册OCX文件(如果可以在硬盘上找到它)。
如果找到它,则可以使用Regsvr32.exe(Microsoft-How to use Regsvr32 tool)重新注册它(假定存在OCX的所有DLL依赖项)
通常,打开命令提示符(具有“管理”权限),导航到包含OCX文件的文件夹并发出:
regsvr32 msadodc.ocx
我希望这会有所帮助。
更新1 我忘了提到您的项目中可能实际上不需要引用MSADODC.OCX的情况,但是您必须通过删除并编译来确定这一点。您的代码(以查看是否发现任何错误),并检查所有表单以确保控件未包含在其中。
在Microsoft Access中,如果将ActiveX控件添加到窗体,Access将添加对该控件的引用。但是,如果您随后从窗体中删除该ActiveX控件,则Access不会删除该引用。如果您不再使用该控件,则必须通过在上面显示的对话框中取消选中该引用来自己删除该引用。