Как я могу написать запрос, чтобы показать 0 вместо результата в MS Access - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть запрос в Access 2013, который ничего не показывает, если в результирующем наборе данных нет данных.Я хочу, чтобы он показывал 0.

Мой отчет генерируется для каждого месяца, поэтому я форматирую invClosureDate для года и месяца.Когда данных нет, запрос ничего не возвращает, требование отчета должно показывать 0, когда данных нет.

SELECT Format([invClosureDate],"yyyy") AS invCY, Format([invClosureDate],"mmm") AS invCM, Sum(Abs(IIf([invStatus]="closed",1,0))) AS Inc, tblInvestigations.invClosureDate
FROM tblInvestigations
GROUP BY Format([invClosureDate],"yyyy"), Format([invClosureDate],"mmm"), tblInvestigations.invClosureDate
HAVING (((tblInvestigations.invClosureDate)=[Forms]![tblInvestigations]![txtInvDate]));

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Это было решено с помощью SELECT Count (tblInvestigations.invStatus) AS CountOfinvStatus ОТ tblInvestigations WHERE ((((tblInvestigations.invStatus) = "закрыто") И ((Формат ([invClosureDate], "мммм")) = [Формы]![tblInvestigations] [txtInvDate]));!

0 голосов
/ 08 февраля 2019

Одна альтернатива, как уже упоминалось, заключается в использовании запроса объединения с нулевыми значениями / значениями по умолчанию.

Еще одним вариантом будет создание запроса нулевого значения / значения по умолчанию и использование VBA для изменения источника записи изменения.отчет по этому запросу, если в запросе данных нет записей.Это необходимо сделать до открытия отчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...