【发布时间】:2011-10-04 05:45:27
【问题描述】:
我想在 Access to Excel 的一个记录集中导出一些数据。
我知道 DoCmd.TransferSpreadsheet 命令,但它只适用于存储的查询,在我的例子中,它是一个运行时过滤的记录集。
我尝试了一些代码来做我想做的事。我可以导出数据,但无法从记录集中获取列名。
关于命令或如何从记录集中获取这些列名的任何建议?
【问题讨论】:
标签: ms-access ms-access-2007 vba dao
我想在 Access to Excel 的一个记录集中导出一些数据。
我知道 DoCmd.TransferSpreadsheet 命令,但它只适用于存储的查询,在我的例子中,它是一个运行时过滤的记录集。
我尝试了一些代码来做我想做的事。我可以导出数据,但无法从记录集中获取列名。
关于命令或如何从记录集中获取这些列名的任何建议?
【问题讨论】:
标签: ms-access ms-access-2007 vba dao
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
【讨论】:
您可以在调用传输电子表格之前更改存储的查询
Dim myQuery As QueryDef
Set myQuery = CurrentDb.QueryDefs("SampleQuery")
myQuery.SQL = "SELECT * FROM myTable WHERE something"
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel9, "SampleQuery", "c:\test.xls"
【讨论】: