我希望基于查询表格从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
答案 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"