Условие AND EndTime = NULL
всегда оценивается как неизвестное. Вместо этого используйте:
AND EndTime is NULL
Тогда, вероятно, вы должны указать базе данных, как анализировать строку даты и времени. Это будет работать в MS Access (для того чтобы StartTime был более 3 часов назад):
AND StartTime < dateadd('h',-3, now);
За ваш комментарий, вот полный запрос:
SELECT TimeID
FROM tblLunchTime
WHERE ProductionID = 1
AND EndTime IS NULL
AND StartTime < DATEADD('h',-3,now)
Возможно, проблема в вашем prodId; Я не уверен, что это должно означать. Вы можете попытаться использовать его как переменную, например
"WHERE ProductionID = " & prodId & " " & _