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