我在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
答案 0 :(得分:3)
查看CopyFromRecordset方法。
将ADO或DAO Recordset对象的内容复制到a 工作表,从指定范围的左上角开始。
'...
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