如何在ms访问中使用语句作为条件

时间:2014-01-02 09:51:54

标签: sql ms-access where ms-access-2013

我有一个表和一个查询来查找表中的特定行。该表包含一个名为DueDate的列,其中包含一个日期作为短文本。在某些情况下,截止日期不适用,因此在某些情况下它包含字符串“N / A”。我想要做的是使用表达式Expr1:  标识为< 1的where语句中的DateDiff("m";CDate([DueDate]);Date())。但对于NA字段,它会产生错误。我该怎么办呢。是否可以在标准中使用iif语句。

2 个答案:

答案 0 :(得分:1)

使用

过滤这些记录
where DueDate <> 'N/A'

答案 1 :(得分:1)

您可以在IIf子句中使用WHERE个表达式,但我建议您考虑使用此Switch表达式。它在DueDate = 'N/A'时返回False,在DateDiff表达式返回小于1个月的值时返回True,否则返回Null。

WHERE Switch
    (
        DueDate = 'N/A', False,
        DateDiff('m',CDate([DueDate]),Date()) < 1, True
    ) = True