2016-11-04 124 views
0

我有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 

我已經創造了這段代碼的查詢的響應參數:?哪個章節] 是在查詢的[章節編號]場。

回答

1

考慮讓用戶在表單上輸入所需的查詢值,然後直接在查詢中引用此控件。這將消除任何通常不應該成爲用戶界面的彈出窗口,但會警告處理查詢需要缺少值,未知列等。

另外,還要考慮專用出口的方法,如TransferSpreadsheetOutputTo不需要打開存儲查詢屏:

SQL(調整當前查詢)

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

VBA(都將提示輸入文件名,除非聲明文件名路徑arg)

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