从Access导出到Excel

时间:2011-07-13 06:43:12

标签: ms-access vba ms-access-2007 access-vba dao

我想在Access to Excel中的一个记录集中导出一些数据。

我知道DoCmd.TransferSpreadsheet命令,但它只适用于存储的查询,在我的情况下,它是一个运行时过滤的记录集。

我尝试过一些代码来做我想要的事情。我可以获取导出的数据但我无法从记录集中获取列名。

有关命令的任何建议或如何从记录集中获取这些列名吗?

2 个答案:

答案 0 :(得分:3)

DAO记录集可以使用name属性。

Dim rs As DAO.Recordset

Set rs = CurrentDb.OpenRecordset("SELECT * FROM ARTIKELGRUPPE")
Debug.Print rs.Fields(0).Name
Debug.Print rs.Fields(1).Name

我桌子的输出:

id
Name

答案 1 :(得分:1)

您可以在调用转移电子表格之前更改存储的查询

Dim myQuery As QueryDef
Set myQuery = CurrentDb.QueryDefs("SampleQuery")
myQuery.SQL = "SELECT * FROM myTable WHERE something"
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel9, "SampleQuery", "c:\test.xls"