Нулевое истинное выражение не возвращается

Я работаю в Access 2010. Я хочу, чтобы значения NULL возвращались как 0, но я не могу заставить их отображаться. Ложные значения работают нормально. Всего должно быть 29 строк, 20 из которых возвращают 0, а 9 возвращают свое значение. Вот код.

SELECT [QAT Export].Title, IIF(ISNULL(Count([QAT Export].[TaskID])),0,Count([QAT Export].[Task ID])) AS [Update Good]
FROM [QAT Export]
WHERE ((([QAT Export].[Task Status])<>"Closed" And ([QAT Export].[Task Status])<>"Cancelled") AND (([QAT Export].[Updated By]) <>"linker")AND((DateDiff("d",[Update Time],(Date())))<10))
GROUP BY [QAT Export].Title
ORDER BY [QAT Export].Title;

person Jason Hanrahan    schedule 05.08.2015    source источник


Ответы (1)


Ваши функции IIF() и IsNull() выглядят нормально.

Скорее всего, ваше предложение WHERE исключает нули через один из тестов.

Каковы шансы, поскольку [TaskID] имеет значение Null, [Task Status] также имеет значение Null? Если это так, вам также необходимо проверить IsNull([Task Status]) в предложении WHERE.

Опубликуйте свои 29 записей, если вам нужна дополнительная помощь. Скорее всего, данные приводят к тому, что ваше предложение WHERE удаляет эти записи.

person abraxascarab    schedule 06.08.2015
comment
Спасибо за помощь. Я идиот и только что понял, что ни одно из полей не будет NULL. Поэтому он работает нормально, мне просто нужно найти нужную информацию. На самом деле я хочу, чтобы записи, которые не обновлялись в течение последних 10 дней, возвращали 0. - person Jason Hanrahan; 06.08.2015