我目前正在將Access後端移動到SQL Server的過程。我遇到了某些列表框的行來源問題。我需要一種方法來設置listbox rowsource來查詢駐留在服務器上的SP。我還需要傳遞一個從另一個列表框中單擊的參數。SQL SP作爲列表框Rowsource與變量 - 服務器2008
例如,用戶點擊listbox1,然後將所選值作爲參數傳遞給listbox2的rowsource查詢。我怎樣才能得到rowsource來查詢SQL Server並傳遞參數給它。
我目前正在將Access後端移動到SQL Server的過程。我遇到了某些列表框的行來源問題。我需要一種方法來設置listbox rowsource來查詢駐留在服務器上的SP。我還需要傳遞一個從另一個列表框中單擊的參數。SQL SP作爲列表框Rowsource與變量 - 服務器2008
例如,用戶點擊listbox1,然後將所選值作爲參數傳遞給listbox2的rowsource查詢。我怎樣才能得到rowsource來查詢SQL Server並傳遞參數給它。
在SQL Server我有一個名爲[吉他]包含
Model Make
------------ ------
Les Paul Gibson
SG Gibson
Stratocaster Fender
Telecaster Fender
表,並命名爲[GetModels]存儲過程定義爲
CREATE PROCEDURE [dbo].[GetModels]
@Make nvarchar(50) = ''
AS
BEGIN
SET NOCOUNT ON;
SELECT Model FROM Guitars WHERE Make = @Make
END
在訪問我有一個傳遞查詢命名爲[ptqGetModels]和一個包含兩個列表框的表單:
名稱: lbxMake
行來源: 「芬達」, 「吉布森」
行來源類型:值列表
名稱: lbxModel
行來源: SELECT * FROM ptqGetModels;
行來源類型:表/查詢
在我對lbxMake
列表框下面After Update
事件的形式背後的VBA代碼:
Private Sub lbxMake_AfterUpdate()
Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.QueryDefs("ptqGetModels")
qdf.SQL = "EXEC GetModels '" & Me.lbxMake.Value & "'"
Set qdf = Nothing
Me.lbxModel.Requery
End Sub
當我選擇在lbxMake
列表框的新值它會自動更新lbxModel
列表框,方法是重新編寫傳遞查詢,然後重新運行存儲過程。