Report.InputParameters 屬性 (Access)

使用 InputParameters 屬性來指定或決定當作為 Microsoft Access 專案 (.adp) 內的記錄來源時,會傳遞給表單或報表或預存程序的 RecordSource 屬性中 SQL 陳述式的輸入參數。 讀取/寫入的 String。

語法

運算式。InputParameters

運算式 代表 Report 物件的變數。

註解

與 RecordSource 屬性一起使用時

在 RecordSource 屬性中與 SQL 陳述式搭配使用的 InputParameters 屬性字串範例會使用下列語法。

state char=[Forms]![formname]![StateList], salesyear smallint=[Forms]![formname]![Enter year of interest]

這會導致 state 參數設定為 StateList 控制項的目前值,並提示使用者輸入 salesyear 參數。 如果有任何不在本清單中的其他參數,將會被指派預設值。

針對 InputParameters 清單中的每個非預設參數,應該使用一個標記來執行查詢。

透過 Access 中的功能表、鍵盤或導覽列 (重新整理或重新查詢命令) 應該會觸發重新執行查詢。 使用者可以在程式碼中呼叫標準的 Requery 方法來執行此動作。 如果參數值結合到表單上的控制項,則在重新查詢期間會使用控制項的目前值。 當控制項的值變更時,查詢並不會自動重新執行。

與預存程序一起使用時

與預存程序搭配使用的範例 InputParameters 屬性字串會使用下列語法。

@state char=[Forms]![formname]![StateList], @salesyear smallint=[Forms]![formname]![Enter year of interest]

這會導致 @state 參數設定為 StateList 控制項的目前值,並提示使用者輸入 @salesyear 參數。 如果預存程序中有任何其他參數不在此清單中,則會指派預設值。

應使用包含 {call } 語法的命令字串來執行預存程序,並針對 InputParameters 清單中的每個非預設參數各有一個標記。

透過 Access 中的功能表、鍵盤或導覽列 (重新整理或重新查詢命令) 應該會觸發重新執行預存程序。 使用者可以在程式碼中呼叫標準的 Requery 方法來執行此動作。 如果參數值結合到表單上的控制項,則在重新查詢時會使用控制項的目前值。 當控制項的值變更時,預存程序並不會自動重新執行。

如果預存程序具有任何參數,則當預存程序首次被選為表單的記錄來源時,將顯示該建立器對話方塊。 在最初建立 InputParameters 字串之後,同一對話方塊也將用於變更字串的建立器。 不過,在此情況下,參數清單來自字串中已存在的內容。

您也可以使用 ActiveX 資料物件的 (ADO) 命令和參數物件,在程式碼中設定參數值。 如果結果傳回結果集,則可以透過設定表單的 Recordset 屬性,將表單繫結至該結果集。 ADO 編碼是處理未傳回結果集的預存程序的唯一方法,例如動作查詢、傳回輸出參數,或傳回多個結果集的預存程序。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。