使用 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 支援與意見反應。