На ваш вопрос сложно ответить, потому что он зависит от некоторых вещей, таких как типы данных в поле поиска и т. Д. Поэтому этот ответ будет неопределенным в некоторых из этих пунктов ...
Прежде всего, вам нужно создать список с критериями поиска, который будет искать в форме искомое значение и соответственно фильтровать.
Вы делаете это, устанавливая свойство RowSource списка. Вот пример источника строк для списка, который ищет текстовое поле в форме для значения фильтра ...
SELECT tblAgencies.AgencyID, tblAgencies.OrganizationName
FROM tblAgencies
WHERE (((tblAgencies.OrganizationName)
Like "*" & nz([Forms]![frmMainMenu2]![txtSearchAgencies],"") & "*"))
ORDER BY tblAgencies.OrganizationName;
Ключевой частью является линия Like ... Несколько вещей об этом ... обратите внимание, что запрос ищет форму по некоторым критериям. Вы видите это в части запроса [Forms]! [FrmMainMenu2]! [TxtSearchAgencies]. Так что в frmMainMenu2 есть текстовое поле поиска, которое называется txtSearchAgencies.
Обратите также внимание, что я использую функцию NZ, чтобы гарантировать, что просмотр этого текстового поля возвращает хотя бы пустую строку. Наконец, обратите внимание, что используется оператор Like с подстановочными знаками на обоих концах, чтобы пользователь мог вводить частичную строку.
Наконец ... рядом с окном поиска поместите командную кнопку для выполнения фильтра / поиска. Все, что он должен сделать, это запросить список, как это ...
Me.lstAgencies.Requery.
Вы также можете попробовать Requery при событии OnChange, которое будет фильтровать по мере их ввода. Но если ваш запрос медленный, это может не сработать.
Сет