У меня есть подотчет в Access 2010, который в основном действует как указатель / оглавление. Пользователь может использовать форму поиска для фильтрации проектов по определенным критериям. В отчете и индексе должны отображаться только соответствующие отчеты. Отчет фильтрует хорошо, а индекс - нет.
Некоторые критерии представлены непосредственно в индексной форме, взятой из индексной таблицы (площадь, год, проект). Остальные взяты из таблицы действий и не отображаются в указателе.
Это код, который я использую для фильтрации индекса с критериями, отображаемыми на странице индекса, и он отлично работает.
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 и доступ не являются моей сильной стороной, и я буду очень признателен за любые советы или предложения.