在 VBA 中将日期传递给过程

发布于 2024-12-09 16:53:27 字数 510 浏览 0 评论 0原文

当我执行命令 (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)

StartDateendDate 是日期类型,从工作表上的两个单元格分配。值为 10/1/201110/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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅浅淡淡 2024-12-16 16:53:27

尝试将:

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

梦幻之岛 2024-12-16 16:53:27

我想通了。我没有使用 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文