以下是引用徐阿鹏在2005-10-20 14:54:00的发言:
但是,我在应用中发现有时输入输出的参数有时并不能从sql传递到vba,试过vba接收不到output的数据,但是又不是全部是这样,郁闷的很[em06]
我在这方面测试的不是很多,但是只要存储过程中的T-SQL不出错,还是可以按要求返回值到VBA中,尚未遇到阿鹏兄的问题。
下面是阿鹏的VBA:
Dim Par As New ADODB.Parameter
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.Parameters.Append cmd.CreateParameter("@return_value", adInteger, adParamReturnValue, 8)
Set Par = cmd.CreateParameter("@BmNm", adVarChar, adParamInput, 10, "hahaha")
cmd.Parameters.Append Par
Set Par = cmd.CreateParameter("@错误", adVarChar, adParamInputOutput, 50, "")
cmd.Parameters.Append Par
改写成:
Dim Par0 As New ADODB.Parameter
Dim Par1 As New ADODB.Parameter
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.Parameters.Append cmd.CreateParameter("@return_value", adInteger, adParamReturnValue, 8)
Set Par0 = cmd.CreateParameter("@BmNm", adVarChar, adParamInput, 10, "hahaha")
cmd.Parameters.Append Par0
Set Par1 = cmd.CreateParameter("@错误", adVarChar, adParamInputOutput, 50, "")
cmd.Parameters.Append Par1
当然,改写前的代码绝对是问题的,因为我已经测试过。不过有些问题的出现总是莫明其妙,说不定换一种方式可以解决
[此贴子已经被作者于2005-10-20 22:57:59编辑过]
|