У меня есть подчиненный отчет в Access 2010, который в основном действует как индекс/оглавление. Пользователь может использовать форму поиска для фильтрации проектов по определенным критериям. В отчете и индексе должны отображаться только соответствующие отчеты. Отчет фильтрует отлично, но индекс не работает.Фильтр доступа 2010 Subreport по критериям, не используемым в Subreport
Некоторые критерии находятся непосредственно в индексной форме, взятой из индексной таблицы (площадь, год, проджно). Остальные из таблицы действий и не отображаются в индексе.
Это код, который я использую для фильтрации индекса с критериями, отображаемыми на индексной странице, и он отлично работает.
SELECT *
FROM [INDEX] AS i
WHERE (
i.ProjNo = Forms![SearchForm]![txtProjNo]
OR Len(Forms![SearchForm]![txtProjNo]) = 0
)
AND
(
i.Prod = Forms![SearchForm]![txtProd]
OR Len(Forms![SearchForm]![txtProd]) = 0
)
AND
(
i.year = Forms![SearchForm]![txtStartYear]
OR Len(Forms![SearchForm]![txtStartYear]) = 0
)
Проблема возникает, когда я пытаюсь добавить поля из таблицы действий/которые не входят в индекс.
Этот код
SELECT *
FROM [INDEX] AS i
WHERE (
i.ProjNo = Forms![SearchForm]![txtProjNo]
OR Len(Forms![SearchForm]![txtProjNo]) = 0
)
AND
(
i.Prod = Forms![SearchForm]![txtProd]
OR Len(Forms![SearchForm]![txtProd]) = 0
)
AND
(
i.year = Forms![SearchForm]![txtStartYear]
OR Len(Forms![SearchForm]![txtStartYear]) = 0
)
AND (SELECT *
FROM [ACTIVITY] AS a
WHERE (
a.manager = Forms![SearchForm]![txtManager]
OR Len(Forms![SearchForm]![txtManager]) = 0
));
дает мне пустой указатель, даже без заголовков или номера страниц.
SQL и Access не являются моей сильной стороной, и я был бы очень признателен за любые советы или предложения.
Когда я пытаюсь запустить отчет, он дает мне пустую страницу. – AxxieD
Кроме того, у меня больше полей в таблице «Активность», чем в таблице «Index». – AxxieD
ОК, чтобы использовать запрос UNION, вы ДОЛЖНЫ иметь то же самое количество полей, поэтому для таблицы индексов вы можете помещать некоторые заполнители, например: UNION SELECT Field4, Field5, Field6, '', '', 0 , 0 ---- положить одинарные кавычки для текстового поля и нулей для числового поля (эти типы полей должны совпадать с типами полей в первом операторе SELECT). Если у вас одинаковое количество полей, вы можете увидеть данные. –