【发布时间】:2020-07-11 04:39:08
【问题描述】:
所以我相信这应该很容易。
我有一个标准的 SQL 日期时间列,我想最好在过去 24 小时内获取所有条目,在 excel 中使用 vba,我将问题简化为“只是最后一个日历天”,以尝试更好地了解如何解决这个问题,无法弄清楚如何进行。
基本上:如果我在 sql 语句的“介于”部分手动输入日期,VBA 将接受,但不接受带有日期的变量。
围绕它“显示”vba 正在将声明为日期的字段格式化为 mm/dd/yyyy 而不是 sql 中标准日期时间列中的 yyyy/mm/dd,这可能是问题所在!我一直在玩转换命令,但无济于事。如果我手动输入正确格式化为变量值的日期,它确实有效。
代码如下:
Dim DateVar As Date
Dim DateStart As Date
Dim DateEnd As Date
DateVar = Range("A2").Value
DateStart = DateVar - 1
DateEnd = DateVar + 1
adoDbConn.Open **CONNECTION STRING GOES HERE**
selectCmd.ActiveConnection = adoDbConn
selectCmd.CommandText = "SELECT DateTime, Machine_Number, FROM [33_TestImport]
Where Machine_Number = " & Machvar & "
AND DateTime BETWEEN " & DateVar & " AND " & DateEnd &
ORDER By DateTime "
【问题讨论】:
-
这里不应该有逗号; Machine_Number, FROM
标签: sql sql-server excel vba date