Vba Microsoft.Jet.OLEDB.4.0-找不到提供程序或该提供程序可能未安装

Vba Microsoft.Jet.OLEDB.4.0-找不到提供程序或该提供程序可能未安装,vba,excel,oledb,jet,Vba,Excel,Oledb,Jet,我创建了一个Excel宏,其中我使用Microsoft.Jet.OLEDB.4.0在Excel工作表上启动查询 它在我的机器上运行得很好,但我的客户面临着问题。(请参阅随附的屏幕打印) 以下是我的连接对象的详细信息: Dim cn Set cn = CreateObject("ADODB.Connection") With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" &

我创建了一个Excel宏,其中我使用Microsoft.Jet.OLEDB.4.0在Excel工作表上启动查询

它在我的机器上运行得很好,但我的客户面临着问题。(请参阅随附的屏幕打印)

以下是我的连接对象的详细信息:

Dim cn
Set cn = CreateObject("ADODB.Connection")
With cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & ThisWorkbook.FullName & "; Extended Properties=Excel 8.0"
    .Open
End With

请注意:我必须使代码在“Windows 7”中工作。

该提供程序将像Windows 7 Office x64一样失败,因为该平台不支持该提供程序


您需要安装x64并将连接字符串更改为
Provider=Microsoft.ACE.OLEDB.12.0

任何人请使图像正常工作。我已经附上了2张图片,但是没有显示在这里。你的机器是32位的,客户端是64位的吗?您的计算机和客户端计算机上的操作系统和excel版本是什么?不知道客户端的版本。但我已经在32位和64位Windows7上测试了该宏,并且它在这两个平台上都运行良好。然后主题看起来像WindowsVista。除非我们了解客户端操作系统和office版本,否则很难向您推荐解决方案。你需要向你的客户询问这些信息。@Esen:我问过他,他说他正在使用Windows 7。观察任务栏。在Vista中,任务栏的高度并没有那个么大。所以我认为只有Win7。Excel版本是什么意思?2010/2007还是64位/32位?谢谢Alex。我会告诉他安装相同的软件,并将向你发送更新的代码。我的回答很糟糕,它在64位office上会失败,但在x64 Windows上的32位office上会工作。它在客户端的PC上仍然不工作。你能找出原因吗?