【发布时间】:2021-11-10 12:09:59
【问题描述】:
这显示记录
sqlStr = "SELECT * FROM Table1 WHERE DateOfHoliday >= #" & d1 & "#"
这不是
sqlStr = "SELECT * FROM Table1 WHERE DateOfHoliday >= #" & d1 & "# AND DateOfHoliday <= #" & d2 & "#"
d1和d2是日期时间,DateOfHoliday和d1和d2的格式是一样的(MM/DD/YYYY)
例如
Dim d1 As Date
d1 = #9/15/2021#
Dim d2 As Date
d2 = #11/29/2021#
DateOfHoliday 之一是 2021 年 9 月 28 日
Debug.Print strSQL 返回:
SELECT * FROM Table1 WHERE DateOfHoliday >= #9/15/2021# AND DateOfHoliday <= #11/29/2021#
【问题讨论】:
-
编辑问题以提供示例数据和所需的输出作为文本表。您的日期是美国结构 (MM/DD/YYYY) 吗?
-
尝试在
WHERE子句中使用OR而不是AND -
在下一行使用
Debug.Print strSQL查看完整的 SQL 语句是什么样的。 -
永远不要对日期使用字符串连接,因为处理方式取决于计算机区域设置。改用参数:How do I use parameters in VBA in the different contexts in Microsoft Access?
-
代码适用于我的任何一种语法。
标签: sql vba ms-access where-clause