Как использовать операторы в качестве критериев в доступе ms

У меня есть таблица и запрос на поиск определенных строк из таблицы. Таблица содержит столбец с именем DueDate, который содержит дату в виде короткого текста. В некоторых случаях срок выполнения неприменим, поэтому для некоторых ситуаций он содержит строку «Н/Д». Что я хочу сделать, так это использовать выражение Expr1: DateDiff("m";CDate([DueDate]);Date()) в операторе where с критерием ‹1. Но для полей NA выдает ошибки. Как я могу справиться с этим. Можно ли использовать операторы iif в критериях.


person freezer    schedule 02.01.2014    source источник


Ответы (2)


Вы можете использовать выражения IIf в предложении WHERE, но я предлагаю вместо этого рассмотреть это выражение Switch. Он возвращает False, когда DueDate = 'N/A', True, когда выражение DateDiff возвращает значение менее 1 месяца, и Null в противном случае.

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

Отфильтруйте эти записи с помощью

where DueDate <> 'N/A'
person juergen d    schedule 02.01.2014