Я не работал с Access через 8 лет - я думаю, что забыл больше, чем когда-либо знал. Кто-то попросил меня изменить отчет, чтобы список чертежей, на которых в настоящее время отображаются все чертежи, будет отображать чертежи для конкретного клиента (или для всех клиентов).MS Access: как фильтровать отчет по не-отчетному полю?
Я нашел вложенные запросы, используемые в отчете, и я изменил внутренний запрос, чтобы принять параметр (первая ошибка?). Затем я добавил новую форму для отображения имени клиента и получения связанного первичного ключа customerId. Теперь мне нужно передать идентификатор клиента из формы в отчет. DoCmd.OpenReport и добавление whereCmd не похоже на условие where с параметром.
Итак, я удалил параметр в запросе и попытался просто указать условие. Только внешний запрос не знает, что такое customerId. Должен ли я раскрывать это во внутреннем запросе и во внешнем запросе, а затем просто не использовать его в окончательном отчете, чтобы я мог отфильтровать его в предложении where?
У них есть другой пример кода, который использует VBA в форме, чтобы перестроить запрос (добавляя любые критерии для фильтрации) перед запуском отчета. Конечно, это не может быть рекомендуемой практикой, не так ли?
* «... перестроить запрос (добавление каких-либо критериев для фильтрации) перед запуском отчета» * Этот запрос используется в качестве источника записи отчета? – HansUp
Источник записи отчета - это внешний запрос, да. Но это внутренний запрос, который вызывается внешним запросом, который способен идентифицировать клиента. Эта информация не является полем в результатах внутреннего и, следовательно, недоступна во внешнем, и, следовательно, я не думаю, что могу ее фильтровать. – knockNrod
Из того, что я читал, фильтр предпочтительнее, чем параметр. Хорошо, я добавил, я заберу это. Но я не могу заставить фильтр работать, и я считаю, что это потому, что это не поле в источнике записи отчета. Итак, если я добавлю поле в список полей внутреннего запроса и внешний запрос, он должен использоваться в отчете? Если он не будет использоваться в отчете, смогу ли я по-прежнему фильтровать его? – knockNrod