Access窗体日期查询问题:无输入时返回全部含空日期记录
解决Access窗体日期查询的需求问题
直接把查询条件改成下面这样就行,不用嵌套IIf:
IsNull([Forms]![OrderSearchMenu]![DisplaySearchDate]) Or ([你的日期字段名] = [Forms]![OrderSearchMenu]![DisplaySearchDate])
逻辑说明:
- 当日期控件
DisplaySearchDate为空时,IsNull(...)为真,整个条件成立,查询会返回所有记录(包括日期字段为空的) - 当控件输入了日期,
IsNull(...)为假,此时只有日期字段等于控件值的记录才会被筛选出来,完全符合你要的“仅返回指定日期记录”的要求
为什么原来的写法失效?
你之前用IIf返回Like "*" Or Is Null是错误的,Access的查询条件不能这么嵌套复合逻辑。IIf的返回值应该是单一的比较值,而不是把两个条件直接拼在一起,所以才会导致查询完全失效。
把上面的SQL条件放到查询设计视图中对应日期字段的“条件”行,就能正常运行了。
内容的提问来源于stack exchange,提问作者Keeday
相关产品推荐
相关产品推荐

