Поделиться через


Метод 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.

  • См. поля, которые находятся в источнике записей формы или отчета, но не отображаются в форме или отчете. В предыдущем примере ни, ни DescriptionCategoryID не должны отображаться в форме или отчете, чтобы критерии работали.

  • Используйте логические операторы, такие как <, >, AND, OR и BETWEEN. Метод FindRecord соответствует только строкам, которые равны, начинаются с или содержат искомую строку.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.