我有一个应用程序使用MS Access 2003前端连接到MS SQL和Sybase数据库。此应用程序使用VBA(Visual Basic 6),这是不能更改的。我们正处于从Windows XP(应用程序运行良好)转换到Windows 7的过程中。如何纠正无法在Windows 7上的Access 2003中加载DAO DLL?
在Windows 7上,尝试连接到Sybase数据库失败。该应用程序使用一个穿过查询,并且当故障发生时,我收到以下消息:
An unexpected error occurred in Call_SP.
Error number: 48
Error description: Error in loading DLL
Error source: Secure open security
的这何处引发错误代码的特定行是:
For Each qryDef In dbLocal.QueryDefs
在此的项目行代码的定义是这样的:
Dim dbLocal As Database
Dim qryDef As QueryDef
Set dbLocal = CurrentDb()
当最初启动应用程序,有对Microsoft DAO 3.6对象库缺少的参考。我将dao360.dll文件复制到C:\ Program Files文件(x86)\ Common Files \ Microsoft Shared \ DAO,使用regsvr32.exe注册它,并将引用(工具 - >引用)设置为该文件。
在这一点上,我怀疑这个问题可能与这台机器上的用户权限有关,但我坚持从哪里开始。用户对dao360.dll文件具有“读取和执行”权限。
我们有很多以Access编写的旧版应用程序,因此我们的系统使用Access 2003,但Word,Excel和Outlook 2010。我们正在转向Windows 7 64位。
我想知道的缺少DLL,因为这台电脑从未有过任何比Access 2010中较早但它仍然具有DAO 3.6库。你有没有尝试重新安装Access? – Fionnuala 2012-03-16 21:14:00
VBA 6是不的Visual Basic 6,这类错误地引用原因没有人混乱的结束,尽管微软做它自己。 – Bob77 2012-03-17 02:01:23