InputParameters 屬性

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

使用 InputParameters 屬性可以指定或確定輸入?yún)?shù),該輸入?yún)?shù)傳遞給窗體或報表的 RecordSource 屬性中的 SQL 語句,或者傳遞給 Microsoft Access 項目 (.adp) 中用作記錄源存儲過程String 型,可讀寫。

expression.InputParameters

expression     必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。

說明

可以使用屬性表Visual Basic 設(shè)置該屬性。

當(dāng)使用 RecordSource 屬性時:

RecordSource 屬性的 SQL 語句中,使用 InputParameter 屬性字符串的示例語法如下:

state char=[Forms]![formname]![狀態(tài)列表], salesyear smallint=[Forms]![formname]![輸入年度利息]

該語法會將狀態(tài)參數(shù)設(shè)為“狀態(tài)列表”控件的當(dāng)前值,并提示用戶輸入 salesyear 參數(shù)。如果有不在該列表中的其他參數(shù),將為這些參數(shù)指定默認(rèn)值。

對于在 InputParameter 列表中的每個非默認(rèn)參數(shù),應(yīng)該使用 ? 號執(zhí)行查詢。

Access 中的刷新或重新查詢命令(通過菜單、鍵盤或瀏覽工具欄)將觸發(fā)查詢的重新執(zhí)行。用戶可以通過調(diào)用標(biāo)準(zhǔn)的 Recordset.Requery 方法用代碼完成該操作。如果參數(shù)的值與窗體上的控件綁定在一起,則會在重新查詢時使用控件的當(dāng)前值。當(dāng)控件的值更改時,不自動重新執(zhí)行查詢。

當(dāng)使用存儲過程時:

在存儲過程中使用 InputParameter 屬性字符串示例如下:

@state char=[Forms]![formname]![狀態(tài)列表], @salesyear smallint=[Forms]![formname]![輸入年度利息]

該語法會將 @state 參數(shù)設(shè)為“狀態(tài)列表”控件的當(dāng)前值,并且提示用戶輸入 @salesyear 參數(shù)。如果有其他傳遞給存儲過程的參數(shù)不在列表中,將為這些參數(shù)指定默認(rèn)值。

存儲過程應(yīng)該用包含 {call } 語法的命令字符串來執(zhí)行,并且在語法中,對 InputParameter 列表中的每一個非默認(rèn)參數(shù)使用一個 ? 號來表示。

Access 中的刷新或重新查詢命令(通過菜單、鍵盤或瀏覽工具欄)將觸發(fā)存儲過程的重新執(zhí)行。用戶可以通過調(diào)用標(biāo)準(zhǔn) Recordset.Requery 方法用代碼完成該操作。如果參數(shù)值與窗體上的控件綁定在一起,則會在重新查詢時使用控件的當(dāng)前值。當(dāng)控件的值更改時,不自動重新執(zhí)行存儲過程。

如果存儲過程具有參數(shù),那么當(dāng)首次選擇存儲過程作為窗體的記錄源時,將激活該生成器對話框。在最初創(chuàng)建 InputParameters 字符串以后,同一對話框也將被用作更改字符串的生成器。在此情況下,不考慮參數(shù)列表是從字符串中何處取出的。

在使用 ActiveX 數(shù)據(jù)對象 (ADO) 的 CommandParameter 對象的代碼中也可以設(shè)置參數(shù)值。如果返回的是結(jié)果集,通過設(shè)置窗體的 Recordset 屬性,可以將窗體與結(jié)果集綁定。ADO 編碼是處理不返回結(jié)果集(如:操作查詢)的存儲過程、返回輸出參數(shù)的存儲過程,或者返回多個結(jié)果集的存儲過程的唯一方法。