Я бы использовал два подхода.
Когда вы встраиваете объект запроса в Excel (то есть, я полагаю, как вы извлекаете данные из Access), у вас есть возможность редактировать этот запрос в небольшом инструменте редактора запросов.Вы можете добавить критерии к этому запросу в этом инструменте - есть значок фильтра, вы выбираете, скажем, столбец «Имя», а затем вводите «Сэм» в поле ниже, и это будет производить оператор SQL, который теперь включает «Где имя =»То же самое "в конце.
Однако это не очень полезно для отчетов, поскольку, скорее всего, мы хотим, чтобы имя было параметром, передаваемым из самого листа Excel.Если в поле критерия ввести «[введите имя]» вместо «Сэм», квадратные скобки сообщают инструменту запроса, что это пользовательский параметр.Теперь, когда вы запускаете запрос из инструмента, вы получаете всплывающее окно, каждый раз запрашивающее у вас имя.
Теперь, когда вы выходите из инструмента запросов и возвращаетесь в Excel, вы можете редактировать параметры запроса для этого встроенного объекта запроса.Указанный вами параметр (имя) существует, и он может принимать статическое значение, запрашивать у пользователя или принимать содержимое ячейки.Вы даже можете установить флаг для обновления запроса при изменении содержимого ячейки.
Другой подход идет немного дальше и манипулирует объектом запроса в некотором коде VBA.Например, если вам нужно выполнить более тяжелую работу или другую логику, и вы не хотите писать все это как формулы для электронных таблиц.Самый простой способ сделать это - вставить кнопку на листе отчета и запустить код VBA для события нажатия этой кнопки.