【问题标题】:running access query and copying the results into excel运行访问查询并将结果复制到 excel
【发布时间】:2018-01-22 22:22:29
【问题描述】:

我是 VBA 的新手,如果这个问题不符合标准,我深表歉意。

我正在尝试运行 Access 查询并将结果复制到 Excel 工作表。

到目前为止,我已经设法打开 Access DB 并运行查询,但是我找不到任何关于如何将结果复制到 excel 中的信息,至少我找不到可行的解决方案。

请有人指导我正确的方向。

谢谢。

到目前为止,我想出了以下代码。

Sub AccessTest1()

    Dim A As Object
    Application.DisplayAlerts = False
    Set A = CreateObject("Access.Application")

    A.Visible = True
    A.OpenCurrentDatabase ("acess database path")
    A.DoCmd.OpenQuery ("query")
    Application.DisplayAlerts = True


End Sub

【问题讨论】:

标签: vba excel ms-access


【解决方案1】:

看看CopyFromRecordset 方法。

将 ADO 或 DAO Recordset 对象的内容复制到 工作表,从指定范围的左上角开始。

'...
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")

Dim rs As Object
Set rs = A.CurrentDb().QueryDefs("QueryName").OpenRecordset()

If Not rs.EOF Then
    ws.Range("A1").CopyFromRecordset rs
End If

rs.Close

【讨论】:

  • 感谢@Kostas K. 的回复,我已经尝试过 .OpenRecordset() 方法,但它一直给我一个错误:/ 我之前遇到过 .OpenRecordset() 但我无法得到它可以工作,即使使用您提供的简单代码
  • 在您的问题@Mr.Riply 中添加完整的错误消息肯定会有所帮助
  • 抱歉,我已经成功了,非常感谢您的帮助
猜你喜欢
  • 2017-03-11
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多