【发布时间】:2018-08-14 20:51:45
【问题描述】:
我是 Access 的新手,我一直在尝试运行 Access 查询并使用 VBA 将结果粘贴到 Excel 中。我结合了一些我找到的代码,我想我几乎拥有它,但无法弄清楚最后一步。代码如下:
Sub test()
Dim ws As Worksheet
Dim A As Object
Dim rs As Object
Application.DisplayAlerts = False
Set A = CreateObject("Access.Application")
Set ws = ThisWorkbook.Sheets("Sheet1")
A.Visible = True
A.OpenCurrentDatabase ("access database path")
A.DoCmd.OpenQuery ("query name")
Set rs = A.CurrentDb().QueryDefs("query name").OpenRecordset()
If Not rs.EOF Then
ws.Range("A1").CopyFromRecordset rs
End If
rs.Close
Application.DisplayAlerts = True
End Sub
我正在尝试运行查询并将结果粘贴到工作表 1 的单元格 A1 中。
我收到以下行的“运行时错误 3219”:
Set rs = A.CurrentDb().QueryDefs("query name").OpenRecordset()
任何帮助将不胜感激。
谢谢,
G
【问题讨论】:
-
看看使用ADO和
www.connectionstrings.com -
该代码在 Excel 2010 中使用我的“访问数据库路径”和“查询名称”为我工作。请向我们展示您的“查询名称”中的 SQL。