Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 运行时错误-ActiveX组件可以';t创建对象-在MS ACCESS应用程序中_Vba_Ms Access_Ibm Mq - Fatal编程技术网

Vba 运行时错误-ActiveX组件可以';t创建对象-在MS ACCESS应用程序中

Vba 运行时错误-ActiveX组件可以';t创建对象-在MS ACCESS应用程序中,vba,ms-access,ibm-mq,Vba,Ms Access,Ibm Mq,我试图运行一个MS-ACCESS应用程序(MS OFFICE 2007),它是用VBA编写的,并在Windows 2012 R2服务器中连接到IBM MQ。进行此操作时,我得到以下错误- 运行时错误-ActiveX组件无法创建对象 当我调试相同的程序时,它将错误指向下面 Set MQS=New MQSession 我甚至使用regsvr32注册了MQAX200.dll 同样的应用程序在Windows2003R2服务器上运行良好-MS OFFICE 2007-IBMMQ版本7.5 我现在有点命中注

我试图运行一个MS-ACCESS应用程序(MS OFFICE 2007),它是用VBA编写的,并在Windows 2012 R2服务器中连接到IBM MQ。进行此操作时,我得到以下错误-

运行时错误-ActiveX组件无法创建对象

当我调试相同的程序时,它将错误指向下面

Set MQS=New MQSession

我甚至使用regsvr32注册了MQAX200.dll

同样的应用程序在Windows2003R2服务器上运行良好-MS OFFICE 2007-IBMMQ版本7.5

我现在有点命中注定了。如果我遗漏了什么,你能帮我吗


提前谢谢。

您可能需要检查的一些事项:

  • 从Server2003中的32位操作系统到Server2012中的64位操作系统,因此有两种不同的regsvr方法来注册库。您可能需要阅读此链接中的答案,可能需要注销dll,然后再次执行此操作以确保操作正确:

  • 假设不存在这种情况,您可能需要删除对MQ先前版本的VBA引用,然后引用新版本

  • 您提到Server 2003上安装了Office 2007,新服务器是否安装了Office,或者Access是否试图通过unc路径或驱动器号访问MQ应用程序

  • VBA是否正在寻找现在不同的特定驱动器号/路径

  • 您始终可以启动Access、创建新项目、添加对MQ的引用,然后在VBA中尝试实例化该对象,以确定是否可以获得更好的错误代码

  • 不要忘了检查事件查看器,了解导致实例化失败的原因的辅助信息


您在VBA中是否有对MQAX200的引用?