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