Опции:
SELECT Employees.UserID, Employee, IIf(CntTrue>0, "Unavailable", "Available") AS Status
FROM Employees
LEFT JOIN (SELECT Count(*) AS CntTrue, UserID FROM tblTasks
WHERE Active = True GROUP BY UserID) AS Q1
ON Employees.UserID = Q1.UserID;
или
SELECT Employees.*, IIf(Q1.UserID Is Null, "Available", "UnAvailable") AS Status
FROM Employees
LEFT JOIN (SELECT DISTINCT UserID FROM tblTasks WHERE Active = True) AS Q1
ON Employees.UserID = Q1.UserID;
или
SELECT UserID, Employee, IIf(DCount("*","tblTasks","Active=True AND UserID=" & [UserID])>0, "Unavailable", "Available") AS Status FROM Employees;
Обратите внимание на использование LEFT JOIN, чтобы гарантировать, что все сотрудникивернулся.ВНУТРЕННЕЕ СОЕДИНЕНИЕ исключило бы сотрудников, которым не была назначена задача.Возможно, у всех сотрудников есть хотя бы одна задача, но это допускает вероятность того, что некоторые этого не делают.
Не рекомендуется использовать пробелы в соглашении об именах.
Вероятно, следует указать UserID в Employees в качестве первичного ключа.