У меня странная проблема с отчетом Access. А именно, когда отчет используется, он редактирует код исходного запроса и разбивает запрос. Основной запрос начинается как:
select b.Cont_staff, b.tot_success, c.tot_fail
from
(select Cont_staff, count(Cont_staff) as tot_success
from
(SELECT Cont_date, Cont_result, Cont_staff
FROM dbo_UIH_contacts
where dbo_UIH_contacts.Cont_result = 'Successful')
group by Cont_staff) as b
left join
(select Cont_staff, count(Cont_staff) as tot_fail
from
(SELECT Cont_date, Cont_result, Cont_staff
FROM dbo_UIH_contacts
where dbo_UIH_contacts.Cont_result = 'Unsuccessful')
group by Cont_staff) as c
on b.cont_staff = c.cont_staff
Отчет очень прост, по одному полю для каждого из Cont_staff
, tot_success
и tot_fail
в Подробности отчета. В заголовке отчета есть статические метки.
Запрос выполняется правильно при первом создании, а отчет запускается правильно при первом его открытии. Но если вы закроете отчет и снова откроете его, он изменит код запроса на следующий:
SELECT b.Cont_staff, b.tot_success, c.tot_fail
FROM
(SELECT Cont_staff, count(Cont_staff) AS tot_success
FROM
[SELECT Cont_date, Cont_result, Cont_staff FROM dbo_UIH_contacts where dbo_UIH_contacts].[Cont_result = 'Successful']
AS [%$##@_Alias]
GROUP BY Cont_staff) AS b
LEFT JOIN
(SELECT Cont_staff, count(Cont_staff) AS tot_fail
FROM
[SELECT Cont_date, Cont_result, Cont_staff FROM dbo_UIH_contacts where dbo_UIH_contacts].[Cont_result = 'Unsuccessful']
AS [%$##@_Alias]
GROUP BY Cont_staff) AS c
ON b.cont_staff = c.cont_staff
В Access это одна текстовая строка без разрывов строк. Измененная часть находится там, где она заключает в скобки суб-выбор и вставку [%$##@_Alias]
.
Обновление
Похоже, что проблема не связана с отчетом, то же самое происходит при установке формы для использования запроса.