在 VBA 中将日期传递给过程
当我执行命令 (rsMas.Open cmd.Execute
) 时,出现此错误:
参数类型错误、超出可接受的范围或相互冲突。
code>
这是我的参数:
Set prm = cmd.CreateParameter("@startDate", adDate, adParamInput, 0, startDate)
cmd.Parameters.Append (prm)
Set prm = cmd.CreateParameter("@endDate", adDate, adParamInput, 0, endDate)
cmd.Parameters.Append (prm)
StartDate
和 endDate
是日期类型,从工作表上的两个单元格分配。值为 10/1/2011
、10/31/2011
。
有什么想法吗?
I get this error when I execute command (rsMas.Open cmd.Execute
):
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Here are my params:
Set prm = cmd.CreateParameter("@startDate", adDate, adParamInput, 0, startDate)
cmd.Parameters.Append (prm)
Set prm = cmd.CreateParameter("@endDate", adDate, adParamInput, 0, endDate)
cmd.Parameters.Append (prm)
StartDate
and endDate
are Date type and assigned from two cells on a sheet. Values are 10/1/2011
, 10/31/2011
.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将:
cmd.Parameters.Append (prm)
替换为:
cmd.Parameters.Append prm
或者如果确实必须有括号:
Call cmd.Parameters.Append (prm)
在 VBA 中使用不必要的括号是许多问题的根源
Try replacing:
cmd.Parameters.Append (prm)
with:
cmd.Parameters.Append prm
or if you really must have parentheses:
Call cmd.Parameters.Append(prm)
Using unnecessary parentheses in VBA is the source of many problems
我想通了。我没有使用 rsMas.Open cmd.Execute,而是使用 Set rsMas = cmd.Execute
感谢您的帮助
I figured it out. Instead of using rsMas.Open cmd.Execute I used Set rsMas = cmd.Execute
Thanks for your help