Макрокоманда «НайтиЗапись»

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Действие НайтиЗапись в классических базах данных Access можно использовать для поиска первого экземпляра данных, соответствующего критериям, заданным аргументами FindRecord . Эти данные могут находиться в текущей записи, в успешной или предыдущей записи или в первой записи. Записи можно найти в активной таблице, таблице запросов, таблице формы или форме.

Примечание

Макрокоманда "НайтиЗапись" недоступна в веб-приложениях Access.

Параметр

Аргументы макрокоманды НайтиЗапись описаны ниже.

Аргумент макрокоманды Описание
Найти что Определяет данные, которые требуется найти в записи. Введите текст, число или дату, которые требуется найти, или введите выражение, перед которым стоит знак равенства (=), в поле Найти что в разделе Аргументы действия панели построителя макросов. Вы можете использовать подстановочные знаки. Это обязательный аргумент.
Совпадение Указывает, где находятся данные в поле . Можно искать данные в любой части поля (С любой частью поля ), данные, заполняющие все поле (Поля целиком), или данные в начале поля (С начала поля). По умолчанию используется значение Поля целиком.
С учетом регистра Указывает, учитывается ли в поиске регистр. Нажмите кнопку Да (поиск с учетом регистра) или Нет (поиск точно не совпадает с прописными и строчными буквами). По умолчанию используется значение Нет.
Поиск Указывает, должен ли поиск выполняться с текущей записи до начала записей (Вверх), до конца записей (Вниз) или до конца записей, а затем от их начала до текущей записи, то есть по всем записям (Все). По умолчанию используется значение Все.
С учетом формата поля Определяет, содержит ли поле поиска форматированные данные. Нажмите кнопку Да (Access ищет данные в том виде, в котором они отформатированы и отображаются в поле) или Нет (Access выполняет поиск данных по мере их хранения в базе данных, которая не всегда совпадает с отображаемыми). По умолчанию используется значение Нет.
Эта функция позволяет ограничить поиск данными в определенном формате. Например, щелкните Да и введите 1,234 для аргумента Найти, чтобы найти значение 1,234 в поле, формат которого включает запятую. Щелкните Нет, если вы хотите ввести 1234 для поиска данных в этом поле.
Чтобы найти дату с определенным форматированием, например 08.07.2015, установите флажок Да. Если установлен флажок Нет, введите в поле Найти дату в том формате, который задан в региональных параметрах на панели управления Windows. Этот формат отображается в поле Краткий формат на вкладке Дата региональных параметров. Например, если в поле Краткий формат указано д.М.гг, вы можете ввести 08.07.15, и Access найдет все записи в поле "Дата", которые соответствуют 8 июля 2015 г., независимо от того, как отформатировано это поле.

Примечание: Аргумент Search As Formatted вступает в силу только в том случае, если текущее поле является привязанным элементом управления, для аргумента Match задано значение Целое поле, для аргумента Только текущее поле задано значение Да, а для аргумента Match Caseзначение Нет. Если для параметра Match Caseзадано значение Да или Только текущее поле значение Нет, необходимо также задать для параметра Поиск как форматированный значение Да.
Только в текущем поле Определяет, включает ли область поиска только текущее поле в каждой записи или же все поля. Поиск в текущем поле выполняется быстрее. Щелкните Да (ограничить поиск текущим полем) или Нет (выполнять поиск во всех полях записей). По умолчанию используется значение Да.
Первое вхождение Указывает, начинается ли поиск с первой записи либо же с текущей. Щелкните Да (начинать с первой записи) или Нет (начинать с текущей записи). Значение по умолчанию — Да.

      

Примечания

Когда макрос запускает действие FindRecord , Access выполняет поиск указанных данных в записях (порядок поиска определяется параметром Search ). Когда Access находит указанные данные в записи, они выбираются.

Макрокоманда НайтиЗапись эквивалентна команде Найти на вкладке Главная, а ее аргументы совпадают с параметрами в диалоговом окне Поиск и замена. Если задать аргументы макрокоманды НайтиЗапись в окне конструктора макросов, при нажатии кнопки Найти вы увидите, что в диалоговом окне Поиск и замена выбраны соответствующие параметры.

Access сохраняет последние значения аргументов НайтиЗапись на время сеанса базы данных, чтобы вам не пришлось снова вводить те же условия при последующем использовании макрокоманды НайтиЗапись. Если не указать значение аргумента, Access использует его последнее значение, заданное для предыдущей макрокоманды НайтиЗапись или же в диалоговом окне Поиск и замена.

Если вы хотите найти запись с помощью макроса, используйте макрокоманду НайтиЗапись, а не макрокоманду ВыполнитьКоманду, настроенную на запуск команды Найти.

Примечание

Хотя действие FindRecord соответствует команде Найти на вкладке Главная для таблиц, запросов и форм, оно не соответствует команде Найти в меню Правка в окне "Код". Вы не можете использовать действие НайтиЗапись для поиска текста в модулях.

Если выделенный текст совпадает с текстом, который ищется с помощью макрокоманды НайтиЗапись, поиск начинается сразу после выделенного текста в том же поле и в той же записи. В противном случае поиск выполняется с начала текущей записи. Это позволяет найти несколько вхождений одного и того же условия поиска, которые могут содержаться в одной записи.

Однако обратите внимание, что если вы используете командную кнопку для запуска макроса, содержащего действие FindRecord , первый экземпляр условий поиска будет найден повторно. Это происходит из-за того, что нажатие кнопки команды удаляет фокус из поля, содержащего соответствующее значение. Затем действие НайтиЗапись начнет поиск с начала записи. Чтобы избежать этой проблемы, запустите макрос с помощью метода, который не изменяет фокус, например настраиваемую кнопку панели инструментов или сочетание клавиш, определенное в макросе AutoKeys, или задайте фокус в макросе на поле, содержащее условия поиска, перед выполнением действия НайтиЗапись .

Примечание

Не используйте оператор КомандыКлавиатуры или макрос AutoKeys при работе с конфиденциальной информацией. Пользователь-злоумышленник может перехватить нажатия клавиш, что нарушит безопасность компьютера и данных.

То же самое происходит при использовании кнопки для запуска макроса, содержащего макрокоманду НайтиДалее.

Чтобы выполнить макрокоманду НайтиЗапись в модуле Visual Basic для приложений (VBA), используйте метод НайтиЗапись объекта DoCmd.

Для более сложных условий поиска вы можете использовать макрокоманду ПоискЗаписи.