MS Access参数查询
问题描述:
我有VBA代码打开参数查询,将查询导出到Excel,然后关闭查询。我的问题是,当我输入一个参数,我得到第一个导出窗口,然后我必须再次参数来完成导出。我只想询问参数一次。下面是代码:MS Access参数查询
DoCmd.OpenQuery "Chapter Roster and Year Dues Paid", acViewNormal, acReadOnly
DoCmd.RunCommand acCmdExportExcel
DoCmd.Close acQuery, "Chapter Roster and Year Dues Paid", acSaveNo
cmdViewChapterRosters_Click_Exit:
Exit Sub
cmdViewChapterRosters_Click_Err:
MsgBox Error$
Resume cmdViewChapterRosters_Click_Exit
我已经创造了这段代码的查询的响应参数:?哪个章节] 是在查询的[章节编号]场。
答
考虑让用户在表单上输入所需的查询值,然后直接在查询中引用此控件。这将消除任何通常不应该成为用户界面的弹出窗口,但会警告处理查询需要缺少值,未知列等。
另外,还要考虑专用出口的方法,如TransferSpreadsheet
和OutputTo
不需要打开存储查询屏:
SQL(调整当前查询)
SELECT * FROM TableData WHERE [Chapter Number] = Forms!frmName!TextFieldName
VBA(都将提示输入文件名,除非声明文件名路径arg)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "QueryName"
'DoCmd.OutputTo acOutputQuery, "QueryName", acFormatXLSX