如果未全部选中,请在两个日期字段之间选择

时间:2018-08-02 21:29:24

标签: sql database vba ms-access

我制作了用于搜索记录的表格

表格要求提供ID以及统计日期,结束日期

我希望用户不选择开始日期和结束日期,然后选择所有记录

我尝试使用

Between [Forms]![frmCriteria]![Start Date] And [Forms]![frmCriteria]![End Date]

,但是如果用户不选择日期,则不会给出结果

 like between Start and End & "*"

如果用户没有选择日期,但如果他仍然选择它,它将显示所有记录

现在如何根据我的需要使其工作良好,*此代码为示例。我从事MS Access和标准构建中的代码

2 个答案:

答案 0 :(得分:1)

您将执行以下操作:

where (date >= Start or Start = "*") and
      (date <= End or End = "*")

实际上"*"对日期格式不利。而是使用正确的类型并传递NULL值:

where (date >= Start or Start is null) and
      (date <= End or End is null)

答案 1 :(得分:1)

您可以使用:

Between Nz([Forms]![frmCriteria]![Start Date], [YourDateField]) And Nz([Forms]![frmCriteria]![End Date], [YourDateField])

其中[YourDateField]是您要过滤的字段。