Поиск записи

 

Макрокоманда НайтиЗапись (FindRecord) работает аналогично средству Поиск на листе данных, которое обсуждалось в разд. "Поиск" главы 3. Все необходимую для поиска информацию вы задаете в аргументах.

Скажем, вы хотите искать слово "hay" (сено) в поле Diet (пищевой рацион) таблицы AnimalTypes. Далее перечислены макрокоманды, которые вы можете использовать.

¦    ОткрытьФорму (OpenForm) для открытия формы, отображающей найденную запись (в данном случае AnimalTypes). Эту команду можно заменить макрокомандой ОткрытьТаблицу (OpenTable) и выполнять поиск на листе данных.

¦    К ЭлементуУправления (GoToControl) для перехода к полю, в котором будет выполняться поиск (в данном случае Description). Если вы хотите применить поиск во всех полях, этот пункт можно пропустить.

¦    НайтиЗапись (FindRecord) для поиска текста. Вы решаете, начать поиск с первой или с текущей записи, как в данном примере. Можно также выбрать поиск текста в любом месте поля или потребовать, чтобы значение поля целиком совпадало со строкой поиска.

Когда вы соберете все команды вместе, получится нечто похожее на приведенные в табл. 15.1 строки.

 

Таблица 15.1. Макрос поиска записи

 

Макрокоманда

Важные аргументы1

Описание

ОткрытьФорму

Имя формы: AnimalTypes

Открывает форму. Если она открыта, переключает в существующее окно

1 Вы можете применять значения по умолчанию и во всех остальных аргументах.

 

Таблица 15.1 (окончание)

 

Макрокоманда

Важные аргументы2

Описание

КЭлементу Управления

Имя элемента: Diet

Переходит к полю Diet

НайтиЗапись

Образец поиска: ="hay"

Совпадение: С любой частью поля

Только в текущем поле: Да

Первое вхождение: Нет

Находит заданный текст в любой части поля Diet, начиная с текущей записи

 

 

Примечание

Вы могли заметить, что аргумент Образец поиска макрокоманды НайтиЗапись начинается со знака равенства. Он принимает выражение. В данном примере выражение — не что иное, как текстовая константа, заключенная в кавычки. Но ее можно заменить более сложным выражением, включающим операции, функции и другие сложные средства.

 

 

Изюминка этого макроса состоит в том, что его можно использовать несколько раз в строке для поиска нескольких вхождений текста. Если форма AnimalTypes уже открыта, этот макрос просто переходит к следующему найденному вхождению текста.

 

 

Подсказка

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

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100