【发布时间】:2017-01-10 03:52:15
【问题描述】:
我正在处理 Excel VBA 宏,我想从 MS Access 数据库(.accdb 文件)中检索数据。
我尝试使用下面的连接字符串,它会抛出运行时错误“438”
Dim cn As Object, rs As Object,DBFullName As String,Target As Range
DBFullName = "D:\Tool_Database\Tool_Database.accdb"
Set Target = Sheets("Sheet1").Range("A1")
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & DBFullName & ";"
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM test", cn, , , adCmdText
For int i = 0 To rs.Fields.Count - 1
Target.Offset(1, i).Value = rs.Fields(i).Name
Next
Target.Offset(1, 0).CopyFromRecordset rs
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
请帮我解决错误
【问题讨论】:
-
你说它是一个
.accdb文件-那你为什么在你的连接字符串中使用.mdb扩展?DBFullName = "D:\Tool_Database\Tool_Database.mdb"?? -
.mdb 是一个错字它是 .accdb