我试图在Excel中编写一些vba代码来查询Access中的表.我已经为此尝试了多个代码示例,例如添加的链接,它们似乎都在"打开连接"部分失败了.我试过使用不同的引用,但我不确定我应该使用哪些,不同版本之间的区别是什么(即Microsoft ActiveX Data Objects 2.0,2.1,...,6.0)或提供者信息是什么应该.对于提供者信息,我通常会看到类似的东西
"Provider = Microsoft.Jet.OLEDB.4.0;数据源="
但我不确定这是否是我需要使用的,或者为什么/上面显示的提供程序字符串中的任何内容应该更改.有人可以教我如何正确地做这种事吗?
注意:如果可能的话,我想要一个无需下载任何其他应用程序即可运行的解决方案,并且适用于2007和2010版本的Access和Excel,因为这需要在具有可能不同版本的办公室的不同计算机上运行.
类似问题的链接: 要访问的Excel VBA查询失败 http://www.mrexcel.com/forum/showthread.php?t=527490
码:
Sub asdf()
strFile = "C:\Users\bwall\Desktop\Excel Query Access Testing"
Dim cn As Object
Dim rs As Object
Dim strSql As String
Dim strConnection As String
Dim AppPath As String
Set cn = CreateObject("ADODB.Connection")
AppPath = Application.ActiveWorkbook.Path
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & AppPath & "\Masterlist_Current_copy.accdb;"
Debug.Print strConnection
strSql = "SELECT [Neptune Number],[Description],[Manufacturer],[Manufacturer P/N] FROM [All Components];"
cn.Open strConnection
Set rs = cn.Execute(strSql)
MsgBox rs.Fields(0) …Run Code Online (Sandbox Code Playgroud)