第二种: Dim cnn1 As ADODB.Connection Dim cmd As ADODB.Command Dim prm As ADODB.Parameter Dim rs As ADODB.Recordset Dim strCnn As String ' 为存储过程定义命令对象。 Set cnn1 = New ADODB.Connection strCnn = "Provider=sqloledb;" & _ "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; " cnn1.Open strCnn Set cmd = New ADODB.Command Set cmd.ActiveConnection = cnn1 cmd.CommandText = "seleFX" cmd.CommandType = adCmdStoredProc cmd.CommandTimeout = 15
Dim cnn1 As ADODB.Connection
Dim cmd As ADODB.Command
Dim prm As ADODB.Parameter
Dim rs As ADODB.Recordset
Dim strCnn As String ' 为存储过程定义命令对象。
Set cnn1 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
cnn1.Open strCnn
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn1
cmd.CommandText = "seleFX"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 15
' 定义存储过程的输入参数。
Set prm = New ADODB.Parameter
prm.Type = adChar ‘参数类型
prm.Size = 4 '参数最大长度
prm.Direction = adParamInput '输入/输出参数
prm.Value = "abcd" '可以是一个变量
cmd.Parameters.Append prm ' 通过执行该命令调用存储过程。
Set rst = cmdBy.Execute()
Set rs = cmdBy.Execute()
Dim rs as new adodb.recordset
rs.open "seleFX('abcd')", "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; ",
adOpenKeyset, adLockReadOnly, adCmdStoredProc
好像这样就可以了……