Я бы сказал, что вам нужен запрос UNION.
Допустим, ваш исходный запрос для отчета: qryData
SELECT Category, Data1, Data2
FROM tblData
WHERE foo = bar
Чтобы найти все категории, которые не существуют взапрос, вы можете использовать это:
SELECT c.Category
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL
И для отчета, вы объедините это, например,
SELECT Category, Data1, Data2
FROM qryData
UNION ALL
SELECT c.Category, 'None found' AS Data1, NULL AS Data2
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL
ORDER BY Category, Data1