小编Joe*_*ell的帖子

如何使用VBA从MS-Excel(2010)查询MS-Access表

我试图在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)

excel ms-access vba

13
推荐指数
2
解决办法
10万
查看次数

标签 统计

excel ×1

ms-access ×1

vba ×1