Ms access 从Access导出到Excel

Ms access 从Access导出到Excel,ms-access,ms-access-2007,vba,dao,Ms Access,Ms Access 2007,Vba,Dao,我想在Access to Excel中导出一个记录集中的一些数据 我知道DoCmd.TransferSpreadsheet命令,但它只适用于存储的查询,在我的例子中,它是一个运行时过滤的记录集 我试过一些代码来做我想做的事。我可以导出数据,但无法从记录集中获取列名 关于这些命令或如何从记录集中获取这些列名有什么建议吗?DAO记录集有一个可以使用的name属性 Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT * F

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

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

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


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

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

DAO记录集有一个可以使用的
名称
属性

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"

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

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

您可以对ADO记录集执行完全相同的操作,它们也有'name'属性。您可以对ADO记录集执行完全相同的操作,它们也有'name'属性。