我在使用Excel和Access数据库时,在VBA中遇到了一个制作SQL查询的问题。在我的VBA代码中,我有两个数据变量,内容如下:
DateMin = 2014年7月31日22:00:00
DateMax = 2014年8月1日06:00:00
我有一个带有日期字段的Access数据库,并尝试从中提取出符合我这两个变量之间日期的数据,代码如下:
DateMin = 2014年7月31日22:00:00
DateMax = 2014年8月1日06:00:00
我有一个带有日期字段的Access数据库,并尝试从中提取出符合我这两个变量之间日期的数据,代码如下:
sql = "SELECT Date FROM Table WHERE Date BETWEEN #" & DateMin & "# AND #" & DateMax & "#
但是它不起作用。结果是不正确的,日期不在我的两个日期之间。
然而,如果我改变这句话并编写以下代码
sql = "SELECT Date FROM Table WHERE Date > #" & DateMin & "#
它可以工作!提供比DateMin更高日期的数据,但我没有DateMax来停止它。我认为问题在于我第一段代码的第二部分,因为如果我编码
sql = "SELECT Date FROM Table WHERE Date < #" & DateMax & "#
我没有数据!为什么它不给我低于DateMax的数据?因此我认为BETWEEN语句不起作用。
对不起我的英语不好,我正在努力更好地解释。谢谢。
sql = "SELECT Date FROM Table WHERE Date BETWEEN #" & DateMin & "# AND #" & DateMax & "#
) - DateMin和DateMax需要格式化为dd/mmm/yyyy hh:mm:ss
。 - Kai