【发布时间】:2016-10-13 17:02:18
【问题描述】:
我有一个 SQL Server 存储过程,它接受两个 datetime 数据类型的输入参数。我想从 Excel VBA 中调用它。
VBA 没有日期时间类型,所以我尝试了这样的方法:
Dim spCommand As ADODB.Command
Set spCommand = New ADODB.Command
spCommand.ActiveConnection = cnn
spCommand.CommandText = "myProcedureName"
spCommand.CommandType = adCmdStoredProc
spCommand.Parameters.Refresh
spCommand.Parameters(1).Value = "6/1/2016" 'DateValue("2016-06-01") + TimeValue("00:00:00")
spCommand.Parameters(2).Value = "6/1/2016" 'DateValue("2016-06-01") + TimeValue("23:59:59")
spCommand.Execute
但我收到此错误:
我该如何解决?
编辑 1
在遵循@Joe 的建议后,我打开了调试器并得到了这个,但错误仍然存在:
【问题讨论】:
-
您尝试过用# 包围的日期吗?例如2016 年 6 月 1 日,将是 #6/1/2016#。
-
@RyanWildry。是的,我做到了
-
@RyanWildry - 查看更新的答案
标签: sql-server vba excel datetime