像IIF和日期范围不返回结果
问题描述:
我想写一个访问查询(Access 2013)使用IIF语句首先检查选项框架的值,然后,如果值为“1”,使用日期范围,或者如果值是其他任何内容,则查找所有记录(仅值“1”和“2”可用)。我的查询条件是...像IIF和日期范围不返回结果
Like IIf([Forms]![MaintenanceDueList]![OptionFrame]=1,>[Forms]![MaintenanceDueList]![FromDateText] And <[Forms]![MaintenanceDueList]![ToDateText],"*")
当我的选项帧值设置为“2”,我得到的所有记录返回预期的,但是当我的选项框的值设置为“1”,我没有得到任何结果在尽管存在大量记录,但在FromDateText和ToDateText TextBox字段中提供的两个日期之间存在日期。
这一个真的有难倒,所以任何帮助将感激地收到。谢谢,Mort640。
答
IIF
返回一个值但你似乎试图返回一些SQL逻辑 - 真/假部分评估然后返回。
可以改为:
WHERE
[Forms]![MaintenanceDueList]![OptionFrame] = 2
OR
XXX > [Forms]![MaintenanceDueList]![FromDateText] And XXX < [Forms]![MaintenanceDueList]![ToDateText]
或具有包容性的XXX,而不是大于
WHERE
[Forms]![MaintenanceDueList]![OptionFrame] = 2
OR
XXX BETWEEN [Forms]![MaintenanceDueList]![FromDateText] And [Forms]![MaintenanceDueList]![ToDateText]
这完美地工作,谢谢。 – Mort640