Я не могу понять вопрос, потому что я интерпретирую его совершенно иначе, чем другие ответы.
Мне кажется, что другие ответили, предполагая, что "Каков наилучший способ перебратьРезультирующий набор различных значений »- это ключевая часть, в которой я концентрируюсь на« Мне нужно использовать отдельный набор значений в одном сохраненном запросе в качестве параметра в предложении «где» для другого запроса ».
Существует два способа решения этой проблемы:
стандартный способ доступа: сохраните другой запрос, добавьте его к первому запросу и присоединитесь к полю, по которому вы фильтруете.
использовать предложение IN в качестве подзапроса.
Скажем, ваш основной запрос:
SELECT tblBook.BookID, tblBook.AuthorID, tblBook.Title
FROM tblBook
... ивы хотите отфильтровать список авторов с помощью этого запроса:
SELECT tblAuthor.AuthorID
FROM tblAuthor
WHERE tblAuthor.BirthYear < 1900
Вы можете сохранить этот последний запрос как, скажем, "qryAuthorsBefore1900", а затем использовать его в объединении в первом запросе:
SELECT tblBook.BookID, tblBook.AuthorID, tblBook.Title
FROM tblBook INNER JOIN qryAuthorsBefore1900 ON tblBook.AuthorID = qryAuthorsBefore1900.AuthorID
Это метод 1.
Метод 2 будет бe:
SELECT tblBook.BookID, tblBook.AuthorID, tblBook.Title
FROM tblBook
WHERE tblBook.AuthorID IN (SELECT tblAuthor.AuthorID FROM tblAuthor WHERE tblAuthor.BirthYear < 1900)
Теперь оба из них не нужны - вы можете сделать все это без подзапроса или сохраненного QueryDef:
SELECT tblBook.BookID, tblBook.AuthorID, tblBook.Title
FROM tblBook INNER JOIN tblAuthor ON tblBook.AuthorID = tblAuthor.AuthorID
WHERE tblAuthor.BirthYear < 1900
Этот набор результатов должен быть редактируемым.
Все вышеперечисленные запросы могут быть созданы с использованием обычной сетки Query By Example, не нужно углубляться в представление SQL (кроме копирования SQL для подзапроса, если вы решите пойти по этому пути).
Но, конечно, я мог полностью неверно истолковать весь вопрос.