访问:根据查询将字段导出到Excel

时间:2008-12-17 14:49:41

标签: ms-access

我希望基于查询表格从MS Access将一些文件导出到Excel中。

这样查询将是

select * from table where field = 0    

我想循环查询,直到字段为9,我想保存每个 得到一个不同的名称,如field1,field2

如何修改?

strqry = "select * from table where field = 1"
DoCmd.TransferSpreadsheet acExport, _
                            acSpreadsheetTypeExcel9, _
                            "strqry", _
                            "C:\Reports\Data_Analysis1.xls", _
                            True

另外,如何将第一个工作表命名为field1,并将其命名为next loop field2

3 个答案:

答案 0 :(得分:2)

所以你想要的就是这样的东西

dim i as integer

for i = 1 to 9 
    strqry = "select * from table where field = "  & i
    DoCmd.TransferSpreadsheet acExport, _
                              acSpreadsheetTypeExcel9, _
                              strqry, _
                              "filename.xls", _
                              True, _
                              "sheetname_" & i
next i

答案 1 :(得分:2)

我终于以这种方式完成了它

For i = 1 To 9
    CurrentDb.QueryDefs("MyQuery").SQL = "Select * from table Where field = " & i
    DoCmd.TransferSpreadsheet acExport, _
                                acSpreadsheetTypeExcel9, _
                                "MyQuery", _
                                "C:\Reports\Data_Analysis.xls", _
                                True, _
                                "Field_" & i
Next i

答案 2 :(得分:1)

在TransferSpreadsheet命令的“范围”字段中指定工作表名称。

DoCmd.TransferSpreadsheet acExport, _
                            acSpreadsheetTypeExcel9, _
                            "tablename", _
                            "filename.xls", _
                            True, _
                            "sheetname"