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