分享方式:


Form.InputParameters 屬性 (存取)

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

語法

表達。輸入參數

expression 代表 Form 物件的變數。

註解

與 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 (ADO) 命令參數 物件在程式碼中設定。 如果結果傳回結果集,則可以透過設定表單的 Recordset 屬性來系結表單。 ADO 編碼是處理未傳回結果集的預存程序的唯一方法,例如動作查詢、傳回輸出參數的預存程序,或傳回多個結果集的預存程序。

支援和意見反應

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