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 

我已经创造了这段代码的查询的响应参数:?哪个章节] 是在查询的[章节编号]场。

考虑让用户在表单上输入所需的查询值,然后直接在查询中引用此控件。这将消除任何通常不应该成为用户界面的弹出窗口,但会警告处理查询需要缺少值,未知列等。

另外,还要考虑专用出口的方法,如TransferSpreadsheetOutputTo不需要打开存储查询屏:

SQL(调整当前查询)

SELECT * FROM TableData WHERE [Chapter Number] = Forms!frmName!TextFieldName 

VBA(都将提示输入文件名,除非声明文件名路径arg)

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "QueryName" 
'DoCmd.OutputTo acOutputQuery, "QueryName", acFormatXLSX