Вы можете попытаться сделать это с подзапросами для подсчета, но коррелированные подзапросы имеют тенденцию кусаться, когда дело доходит до производительности.
Если вы готовы сделать это в двух запросах вместо одного, они будут работать:
SELECT
s.StudyStartDateTime,
COUNT(s.PatientId)
FROM
dbo_Study_ViewX211_Rpt AS s
WHERE
s.StudyStartDateTime>=Forms![StudiesPatientsByDate]!txtStartDate,
s.StudyStartDateTime<=Forms![StudiesPatientsByDate]!txtEndDate
GROUP BY s.StudyStartDateTime, s.PatientId
ORDER BY s.StudyStartDateTime;
SELECT
s.StudyStartDateTime,
COUNT(s.StudyId),
FROM
dbo_Study_ViewX211_Rpt AS s
WHERE
s.StudyStartDateTime>=Forms![StudiesPatientsByDate]!txtStartDate,
s.StudyStartDateTime<=Forms![StudiesPatientsByDate]!txtEndDate
GROUP BY s.StudyStartDateTime, s.StudyId
ORDER BY s.StudyStartDateTime;
Обратите внимание, что я добавил подсчитанные поля в выражения GROUP BY в каждом.
Если вы хотите сделать его более «компактным», вы можете создать представление для каждого из этих запросов и присоединить их к отдельному запросу в StudyStartDateTime, чтобы получить результаты в одном наборе результатов.