Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用输入参数调用Excel vba SQL存储过程_Vba_Excel_Stored Procedures_Input Parameters - Fatal编程技术网

使用输入参数调用Excel vba SQL存储过程

使用输入参数调用Excel vba SQL存储过程,vba,excel,stored-procedures,input-parameters,Vba,Excel,Stored Procedures,Input Parameters,先谢谢你。我试图从excel运行一个存储过程,该过程接受输入参数,并给出错误运行时错误“-2147217900 80040e14”自动错误 Set cmd1=New ADODB.Command 使用cmd1 .ActiveConnection=sConnString .CommandText=spGetPriceChangeTest .CommandType=adCmdStoredProc .CommandTimeout=360 .Parameters.Append。CreateParamete

先谢谢你。我试图从excel运行一个存储过程,该过程接受输入参数,并给出错误运行时错误“-2147217900 80040e14”自动错误

Set cmd1=New ADODB.Command 使用cmd1 .ActiveConnection=sConnString .CommandText=spGetPriceChangeTest .CommandType=adCmdStoredProc .CommandTimeout=360 .Parameters.Append。CreateParameter@suppliercode,平变,adParamInput,范围A&x+2.值 .Parameters.Append。CreateParameter@date1,adDBTimeStamp,adParamInput,datetime .Parameters.Append。CreateParameter@proddescription,平变,adParamInput,范围&x+1.值 .Parameters.Append。CreateParameter@vendorcode,平变,adParamInput,范围C&x+2.值 .Parameters.Append。CreateParameter@type,平变,adParamInput,范围B&x+2.值 以 Set rst1=New ADODB.Recordset 设置rst1=cmd1。执行 尝试使用EXEC:

.CommandText=exec spGetPriceChangeTest
创建参数时,请确保.CreateParameter,adVarchar,10,值中提到了SQL中定义的大小

这篇文章有帮助。它详细讨论了如何捕获错误


给定.CommandType=adCmdStoredProc,我怀疑这会是它。但是,将.CommandType更改为adCmdText也可以。我有另一个不接受任何参数的存储过程,它与上面的代码完全一样。我感觉数据类型或datetime参数有问题。您正在设置两次完全相同的对象引用:Set rst1=New ADODB。记录集是冗余的,可以删除。是否有实际打开的连接?哪一行抛出错误?已将其删除。同样的错误。我知道,我只是说这是多余的。是否有一个ADODB.Connection对象可以在任何地方打开?我从未使用过没有显式ADODB.Connection的ADODB.Recordset。。。另外,请尝试从参数名称中删除@,并确保参数的提供顺序与SP期望的顺序完全相同。您需要更努力地尝试。。。问答也是如此,在我的手发挥作用之前不要握着它-