Макрокоманда FindNextRecord
Область применения: Access 2013, Office 2013
С помощью действия НайтиNextRecord можно найти следующую запись, которая соответствует условиям, заданным предыдущим действием FindRecord , или значением в диалоговом окне Найти и заменить (на вкладке Главная нажмите кнопку Найти). Для многократного поиска записей можно использовать действие FindNextRecord . Например, можно последовательно перемещаться по всем записям для конкретного клиента.
Setting
У действия FindNextRecord нет аргументов. Действие FindNextRecord находит следующую запись, которая соответствует условиям, заданным действием FindRecord или в диалоговом окне Найти и заменить . Аргументы для действия НайтиЗапись предоставляются параметрам в диалоговом окне Поиск и замена .
Чтобы задать условия поиска, используйте действие НайтиЗапись . Как правило, вы вводите действие FindRecord в макросе, а затем используете действие FindNextRecord для поиска успешных записей, соответствующих тем же критериям. Для поиска записей только при выполнении определенного условия можно ввести условное выражение в столбце Условие строки действия для действия FindNextRecord .
Замечания
Это действие имеет тот же эффект, что и при нажатии кнопки Найти далее в диалоговом окне Найти и заменить .
Примечание.
Хотя действие НайтиЗапись соответствует команде Найти на вкладке Главная для таблиц, запросов и форм, оно не соответствует команде Найти в меню Правка в окне "Код". Вы не можете использовать действие НайтиЗапись или НайтиДалееЗапись для поиска текста в модулях.
Совет
Если для аргумента Только текущее поле действия FindRecord задано значение Да, может потребоваться использовать действие GoToControl , чтобы переместить фокус на элемент управления, содержащий данные, которые вы ищете, прежде чем использовать действие НайтиДалееЗапись .
Если выделенный в данный момент текст совпадает с текстом поиска во время выполнения макрокоманды FindNextRecord , поиск начинается сразу после выделения в том же поле, что и выбор, и в той же записи. В противном случае поиск начинается в начале текущей записи. Это позволяет найти несколько экземпляров с одними и теми же критериями поиска, которые могут отображаться в одной записи.
Однако обратите внимание, что при использовании кнопки команды для запуска макроса, содержащего действие FindNextRecord , первый экземпляр условий поиска будет найден повторно. Это происходит из-за того, что нажатие кнопки команды удаляет фокус из поля, содержащего соответствующее значение. После этого действие FindNextRecord начнет поиск с начала записи. Чтобы избежать этой проблемы, запустите макрос с помощью метода, который не изменяет фокус, например настраиваемую кнопку панели инструментов или сочетание клавиш, определенное в макросе AutoKeys. Кроме того, перед выполнением действия FindNextRecord установите фокус в макросе на поле, содержащее условия поиска.
То же самое происходит и при использовании кнопки команды для запуска макроса, содержащего действие НайтиЗапись с аргументом Найти первый , для параметра Значение Нет.
Чтобы выполнить действие FindNextRecord в модуле Visual Basic для приложений, используйте метод FindNext объекта DoCmd.