2
我想在SQL Server 2008中創建一個參數的過程,並使用未綁定的文本框來獲取結果作爲Access 2010中的控制源(Access 2000 - 2003文件格式。 MDB)。訪問:從文本框發送參數到存儲過程
我最初有一個dlookup作爲文本框的控制源,但它太慢了。 如何調用從文本框發送參數到鏈接的存儲過程?
我想在SQL Server 2008中創建一個參數的過程,並使用未綁定的文本框來獲取結果作爲Access 2010中的控制源(Access 2000 - 2003文件格式。 MDB)。訪問:從文本框發送參數到存儲過程
我最初有一個dlookup作爲文本框的控制源,但它太慢了。 如何調用從文本框發送參數到鏈接的存儲過程?
我不確定這個建議是否足夠,因爲DLookup太慢了。您可以考慮向我們展示您的DLookup聲明,並告訴我們它所引用的字段及其索引。
無論如何,我認爲你可以使用ADO從SQL Server存儲過程中獲取結果。這裏是我用來獲取SQL Server Express中sp的結果的簡單示例。
Private Sub GetCenterCodes()
Dim cnn As Object
Dim rs As Object
Set cnn = CreateObject("ADODB.Connection")
cnn.ConnectionString = "DRIVER=SQL Server;SERVER=VM2003\SQLEXPRESS;" & _
"Trusted_Connection=Yes;DATABASE=Inventory"
cnn.Open
Set rs = cnn.Execute("EXEC GetCenterCodes 14, 14, 501")
Debug.Print rs(0)
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
您可以使用參數的值創建EXEC語句。說這是在一個名爲txtParam文本框中的數值:
"EXEC YourSpName " & Me.txtParam
或者,如果它是一個字符串,在EXEC添加單引號:
"EXEC YourSpName '" & Me.txtParam & "'"
相反Debug.Print的,存儲的價值,你的文本框的目的地。
另外,我使用ODBC作爲連接字符串。你可能更喜歡OLEDB。
該參數來自窗體。該文本框只是輸出。 – Rick