如何在Access VBA中比较日期?

时间:2018-07-03 07:15:22

标签: sql vba ms-access

我有一个具有两个日期/小时字段“ record_init_date”和“ record_end_date”的Access数据库。

我有一个查询来检索具有record_init_date> = init_date和record_end_date <= end_date这样的记录:

"SELECT * FROM TABLE WHERE (record_init_date >= #" & Me.selectorInitDate.Value & "#) AND (" & record_end_date & "<= #" & Me.selectorEndDate.Value & "#)"

但是结果不是想要的。如何按日期过滤?

编辑

为一些示例数据成像:

id = 1
record_init_date = 10/11/2018
record_end_date = 20/11/2018

id = 2
record_init_date = 03/12/2018
record_end_date = 04/12/2018

如果我运行查询:

"SELECT ID FROM TABLE WHERE (record_init_date >= #01/11/2018#) AND (record_end_date <= #30/11/2018#)"

预期结果是ID = 1

1 个答案:

答案 0 :(得分:1)

您可能需要应用一种格式来获取日期表达式:

"SELECT * FROM TABLE WHERE record_init_date >= #" & Format(Me.selectorInitDate.Value, "yyyy\/mm\/dd") & "# AND record_end_date <= #" & Format(Me.selectorEndDate.Value, "yyyy\/mm\/dd") & "#"