2016-02-29 31 views
1

我想写一个访问查询(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。

回答

0

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] 
+0

这完美地工作,谢谢。 – Mort640

相关问题