Метод DoCmd.SearchForRecord (Access)
Используйте метод SearchForRecord для поиска определенной записи в таблице, запросе, форме или отчете.
Синтаксис
expression. SearchForRecord (ObjectType, ObjectName, Record, WhereCondition)
expression: переменная, представляющая объект DoCmd.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
ObjectType | Необязательный | AcDataObjectType | Константа AcDataObjectType , указывающая тип объекта базы данных, в котором выполняется поиск. Значение по умолчанию — acActiveDataObject. |
ObjectName | Необязательный | Variant | Имя объекта базы данных, содержащего запись для поиска. |
Запись | Необязательный | AcRecord | Константу AcRecord , указывающую начальную точку и направление поиска. Значение по умолчанию — acFirst. |
WhereCondition | Необязательный | Variant | Строка, используемая для поиска записи. Это похоже на предложение WHERE в инструкции SQL, но без слова WHERE. |
Замечания
В случаях, когда несколько записей соответствуют критериям в аргументе WhereCondition , то, какая запись найдена, определяют следующие факторы:
Параметр аргумента Запись .
Порядок сортировки записей. Например, если аргумент Record имеет значение acFirst, изменение порядка сортировки записей может изменить найденную запись.
Объект, указанный в аргументе ObjectName , должен быть открыт перед выполнением этого действия. В противном случае возникает ошибка.
Если критерии в аргументе WhereCondition не выполнены, ошибка не возникает и фокус остается на текущей записи.
При поиске предыдущей или следующей записи поиск не "заворачивает", когда достигает конца данных. Если нет дополнительных записей, соответствующих условиям, ошибка не возникает и фокус остается на текущей записи. Чтобы убедиться, что совпадение найдено, можно ввести условие для следующего действия и сделать условие таким же, как условие в аргументе WhereCondition .
Метод SearchForRecord аналогичен методу FindRecord , но SearchForRecord имеет более мощные функции поиска. Метод FindRecord в основном используется для поиска строк и дублирует функции диалогового окна Поиск . Метод SearchForRecord использует критерии, которые больше похожи на критерии фильтра или SQL-запроса.
В следующем списке показаны некоторые действия, которые можно выполнить с помощью метода SearchForRecord :
Используйте сложные условия в аргументе WhereCondition , например
Description = "Beverages" and CategoryID = 11
.См. поля, которые находятся в источнике записей формы или отчета, но не отображаются в форме или отчете. В предыдущем примере ни, ни
Description
CategoryID
не должны отображаться в форме или отчете, чтобы критерии работали.Используйте логические операторы, такие как <, >, AND, OR и BETWEEN. Метод FindRecord соответствует только строкам, которые равны, начинаются с или содержат искомую строку.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.