Базы данных Microsoft Access 2003

         

Поиск информации в формах



В главе 6 описывалось, как полагается сортировать получаемые результаты запроса. Аналогичные операции можно выполнять и в формах; о них рассказывается в следующем разделе.

Сортировка записей в форме



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

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




Теперь изменим порядок отображения записей о растениях, отсортировав их по латинским именам. Вот как это делается.

1. Выберите для любой записи элемент управления ЛатинскоеИмя.

2. Щелкните на кнопке Сортировка по возрастанию, расположенной на панели инструментов формы. Результат, который вы должны получить, показан на рис. 8.19. Как видите, теперь первой записью стала запись со значением Тысячелистник. При просмотре записей окажется, что они расположены в алфавитном порядке, сортировка производилась по их латинским именам.

Произведенная сортировка остается временной до сохранения формы. При этом Access запоминает новый порядок сортировки и при следующем открытии формы отобразит записи соответствующим образом. Для удаления результатов уже сохраненной временной сортировки выберите команду Записи>Удалить фильтр.



Рис. 8.19. Сортировка записей по их латинским именам


Фильтр по выделенному



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

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

1. Выберите элемент управления Номер типа в первой записи (или любой другой записи со значением Декоративное в поле Номер типа).

2. Выполните команду Записи>Фильтр>Фильтр по выделенному или щелкните на кнопке Фильтр по выделенному, расположенной на панели инструментов формы. Результат работы фильтра показан на рис. 8.20. Указанному вами элементу управления Декоративное соответствует шесть записей.



Рис. 8.20. Использование функции Фильтр по выделенному для ограничения количества записей в форме


Обратите внимание, что количество записей в навигационной панели изменилось: в настоящее время всего пять записей вместо семи. Кроме того, появилась надпись (Фильтр), указывающая на то, что список записей неполон. Для удаление фильтра щелкните на кнопке Удалить фильтр или выберите команду Записи>Удалить фильтр. Форма вернется в исходное состояние.

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



Изменение фильтра



Действие функции изменения фильтра напоминает действия фильтра по выделенному, однако данная функ-

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

Попытаемся найти лечебные растения, которые были приобретены из каталога Огородник. Для этого необходимо выполнить следующие действия.

1. Выберите команду Записи>Фильтр>Изменить фильтр или щелкните на кнопке Изменить фильтр, расположенной на панели инструментов формы.

2. На экране появится форма фильтрации (рис. 8.21). Как видите, Access запоминает последним использовавшийся фильтр, поэтому выделен элемент управления Номер типа, с которым мы работали при выполнении предыдущего упражнения. Прежде чем применить новый фильтр, необходимо удалить ранее использовавшиеся фильтры. Для этого щелкните на кнопке Очистить бланк, расположенной на панели инструментов Фильтр.

3. Задайте для элемента управления Номер типа значение Лечебное.

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

5. Щелкните на кнопке Применение фильтра на панели инструментов Форма для просмотра отфильтрованного набора записей. В форме будут представлены только лечебные растения из каталога Огородник.

Как видите, в форме находится лишь одна запись со значением Синий василек. Чтобы удалить фильтр, щелкните на кнопке Удалить фильтр на панели инструментов формы или выберите команду Записи >Удалить фильтр.

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



Диалоговое окно «Поиск и замена»



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

Для обозначения кнопок Удалить фильтр и Применение фильтра используется значок с одним и тем же изображением. Не стоит беспокоиться по этому поводу: поскольку кнопка выполняет только строго определенные задачи, случайный щелчок на ней не приведет к негативным результатам.



1. Выберите любую запись, кроме записи со значением Синий василек, затем щелкните на элементе управления Имя. Выберите команду Правка>Найти или нажмите комбинацию клавиш <Crtl+F>.



Рис. 8.21. Использование функции Изменить фильтр с целью найти все лечебные растения, приобретенные из каталога Огородник


2. Введите в поле Образец значение Синий василек.

3. Щелкните на кнопке Найти далее, и Access обнаружит требуемую запись (рис. 8.22). Возможно, что для просмотра результатов поиска диалоговое окно Поиск и замена придется сместить в сторону.



Рис. 8.22. После щелчка на кнопке Найти далее Access отобразит первую совпадающую с заданным значением запись


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

Указанное диалоговое окно позволяет задать поле для поиска, точность совпадения (Поля целиком, С начала поля, С любой частью поля), направление поиска, учитывая используемый регистр и формат полей.

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


Содержание раздела