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

         

База данных способна выполнять различные



База данных способна выполнять различные задачи, и хранение информации лишь одна из них. Освоив принципы создания таблиц, требуется изучить способ ввода и изменения данных. Наиболее эффективным средством работы с ними являются формы, которые позволяют определить тип отображаемых данных и предоставить различные методы их изменения.

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

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

Создание простых форм



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

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


 применение режима конструктора.


Мастера создания форм



Без сомнения, самый простой и быстрый способ создания формы заключается в применении такого мощного инструмента Access, как автоматический мастер. Далее описаны два таких мастера:

 мастер Автоформа создает форму определенного типа и отображает все данные из таблицы или запроса, причем не задавая при этом ни единого вопроса;  Мастер форм позволяет пользователю выбрать тип создаваемой формы и отображаемые в ней данные.


Мастер Автоформа



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

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


Режимы отображения формы в виде сводных таблицы и диаграммы предназначены для расширенного анализа больших массивов данных.



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

1. Щелкните на ссылке Таблицы, расположенной на панели Объекты, затем в окне Растения: база данных выберите таблицу Растения.

2. Выполните команду Вставка>Форма или щелкните на значке со стрелкой рядом со значком Схема данных на основной панели инструментов Access и выберите из раскрывающегося списка ссылку Форма.

3. В диалоговом окне Новая форма выберите команду Автоформа: в столбец, как показано на рис. 8.1, и щелкните на кнопке ОК (вы также можете дважды щелкнуть). Если нужная таблица или запрос не были выбраны ранее, это можно сделать с помощью раскрывающегося списка, расположенного в нижней части диалогового окна.



Рис. 8.1. Выберите в диалоговом окне Новая форма команду Автоформа: в столбец


4. Сохраните выведенную на экран форму (рис. 8.2), щелкнув на кнопке Сохранить, расположенной на панели инструментов формы. Введите в диалоговом окне Сохранение имя Растения и щелкните на кнопке ОК.



Рис. 8.2. Элементы управления формой расположены вертикально


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

В главе 6, «Использование взаимосвязей», в поле подстановки таблицы Растения добавлялось поле 1омер типа. Как уже говорилось ранее, формой Растения также будет обработано и это поле. Элемент управления Номер типа, показанный на рис. 8.2, представляет собой раскрывающийся список, о чем можно судить по значку со стрелкой, указывающей вниз. Более подробно такие комбинированные элементы управления описываются в главе 13, «Настройка форм».



Подчиненные формы



Возможно, вы обратили внимание на опцию Автоформа в раскрывающемся списке кнопки Новый объект, используемой ранее для создания формы. Мастер, вызываемый посредством этой опции, автоматически создает колоночную форму, равно как и мастер Автоформа: столбец. Однако между этими двумя инструментами есть существенное различие: мастер из списка Новый объект включает в готовую форму связи таблицы, то есть связи между таблицами преобразовываются в связи между формами. В результате этого к готовой форме добавляется подчиненная форма (дополнительная форма, встроенная в основную форму), которая содержит взаимосвязанные данные.



Рис. 8.3. В ленточной форме все элементы управления расположены в одной строке



Рис. 8.4. Табличная форма аналогична стандартной таблице


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

1. Щелкните на ссылке Таблицы панели Объекты, затем выберите в окне Растения: база данных таблицу Каталоги.

2. Из раскрывающегося списка Новый объект выберите опцию Автоформа. Появится новая форма, показанная на рис. 8.5. Обратите внимание, что в качестве ее названия используется имя таблицы, несмотря на то, что в форме представлены данные из таблиц Каталоги и Растения. Сохраните форму под названием РастенияИКаталоги.

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

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



Рис. 8.5. Мастер Автоформа используется для настройки связей между таблицами Каталоги и Растения


Мастер форм



Мастер форм позволяет создавать формы автоматически, на основе предварительно заданных параметров отображаемых данных. Мастер запускается аналогично мастеру Автоформа, только в диалоговом окне Новая форма выбирается опция Мастер форм.

Рассмотрим параметры мастера, используемые для создания форм различных типов. В данном случае форма будет основана на таблицах Растения и Типы.

1. Откройте диалоговое окно Новая форма, выбрав опцию Форма из раскрывающегося списка Новый объект или выполнив команду Вставка>Форма.

2. В диалоговом окне Новая форма выберите опцию Мастер форм.

3. В нижней области диалогового окна Новая форма выберите в раскрывающемся списке таблицу Типы и щелкните на кнопке ОК.

4. В списке Доступные поля будут указаны все поля таблицы Типы. Для переноса требуемых полей в форму (в список Выбранные поля) следует щелкнуть на значке с изображением стрелки.

Подобные действия уже производились при создании простого запроса в главе 7, «Получение данных с помощью запросов». Кнопка с одной стрелкой (>) позволяет перенести одно поле; кнопка с двумя стрелками (») — все поля. Воспользуйтесь кнопкой с двумя стрелками, чтобы получить результат, показанный на рис. 8.6.

Если бы мастер Автоформа из списка Новый объект использовался для создания формы на основе таблицы Растения, подчиненная форма не была бы сформирована, несмотря на то, что для таблицы существуют две связи, с таблицами Каталоги и Типы. Мастер создает подчиненную форму только в том случае, когда указанная форма содержит значение первичного ключа, связанного с другими ключами. Первичный ключ таблицы Растения не связан ни с одной таблицей — к другим таблицам относятся только значения внешнего ключа таблицы Растения.




Рис. 8.6. Добавление двух полей из таблицы Типы


5. Теперь следует добавить в форму некоторые данные из таблицы Растения. Для этого выберите в раскрывающемся списке Таблицы и запросы опцию Таблица: Растения, в результате чего содержимое списка Доступные поля изменится. Перенесите поля Имя, ЛатинскоеИмя и ИмяКаталога в список Выбранные поля, как показано на рис. 8.7. Щелкните на кнопке Далее.



Рис. 8.7. Выбор трех полей из таблицы Растения


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

7. Для просмотра других параметров задайте в списке Выберите вид представления данных опцию Растения, в результате чего изменится внешний вид формы справа. Обратите внимание на автоматический выбор переключателя Одиночная форма в нижней области диалогового окна. Еще раз выберите опцию Типы и установите переключатель Связанные формы. В окне сверху будут показаны две связанные формы. Прежде чем щелкнуть на кнопке Далее, выберите переключатель Подчиненные формы.

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

9. В этом окне предоставляется возможность задать требуемый стиль. Стиль (он же автоформат) позволяет указать базовые цвета и шрифты формы, а также ряд других параметров. По умолчанию используется стиль Международный, и мы оставим его. Щелкните на кнопке Далее (более полная информация о стилях приведена в главе 13).

10. В последнем окне присвойте форме и подчиненной форме имена ГлавныеТипы и ПодРастения соответственно (рис. 8.8). Кроме того, форму можно открыть для непосредственного ввода данных или же в режиме конструктора с целью изменить макет формы (зачастую появляется потребность в изменении формы, созданной мастером). Оставьте переключатель Открыть форму для просмотра и ввода данных и щелкните на кнопке Готово.



Рис. 8.8. Укажите главную и подчиненную формы, после чего щелкните на кнопке Готово


В главной форме, показанной на рис. 8.9, представлены данные таблицы Типы. В подчиненной форме отображаются записи растений для типа, который был выбран в главной форме.



Рис. 8.9. Мастер создает форму, отображающую имена растений в подчиненной форме


Как видите, формы содержат элементы управления, аналогичные элементам таблиц. Если щелкнуть на кнопке управления подчиненной формы Новая запись (рис. 8.9), стрелка выбора в ее левом столбце переместится на одну строку вверх, с космеи на тунбергию. При щелчке на кнопке Новая запись на панели управления главной формы, выполняемом с целью изменить номер типа, записи в подчиненной форме обновятся. Как показано на рис. 8.10, тип 2 (растения, употребляемые в пищу) не содержит никаких связанных записей о растениях. Закройте форму.



Рис. 8.10. В базу данных еще не добавлены сведения о растениях, употребляемых в пищу


Создание формы в режиме конструктора



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

1. Выполните команду Вставка>Форма или выберите из раскрывающегося списка Новый объект опцию Форма.

2. В диалоговом окне Новая форма по умолчанию выбран режим конструктора.

3. Если в п. 1 не было указано имя таблицы или запроса, выберите его в раскрывающемся списке.

4. Щелкните на кнопке ОК для открытия пустой формы в режиме конструктора (рис. 8.11).



Рис. 8.11. Пустая форма в режиме конструктора


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

Быстрое обнаружение ошибок



В Access 2003 введен новый смарт-тег, который предупреждает о появлении ошибок в формах и отчетах (о смарт-тегах рассказывается в главе 5, «Создание первых таблиц»). Подобный смарт-тег для обнаружения ошибок в таблицах применяется в Excel 2002/2003. Ниже, в этом разделе, ошибка будет допущена намеренно, с тем чтобы вы могли разобраться в принципах работы данного смарт-тега.

1. Откройте форму Растения в режиме конструктора. Для этого щелкните на ссылке Формы в окне Растения: база данных, выберите опцию Растения, а затем щелкните на кнопке Конструктор, находящейся на панели инструментов окна Растения: база данных.

2. В режиме конструктора дважды щелкните на текстовом поле Имя для вывода соответствующих параметров в окне свойств.

3. Щелкните на вкладке Все в окне свойств. Значение параметра Данные указано как Имя, поскольку элемент управления связан с полем Имя в таблице Растения. Измените это имя на любое другое, не являющееся названием поля из таблицы Растения. Как показано на рис. 8.12, в поле было введено имя Тест (в таблице поле с таким названием отсутствует).

4. При нажатии клавиши <Enter> или переходе к другому полю рядом с «проблемным» элементом управления формы появится значок смарт-тега. Как показано на рис. 8.12, при щелчке на значке отображается список возможных ошибок с указанием вариантов их устранения. В данном случае ошибка заключается в выборе неверного значения свойства Данные. Наравне с другими действиями, можно выбрать команду Изменить свойство «Данные» элемента управления для автоматического выделения и активизации свойства Данные в меню Свойства или же команду Пропустить ошибку. Закройте форму, не сохраняя внесенных изменений.

Хотя более подробное описание форм приводится в главе 13, встроенный смарт-тег для обнаружения ошибок можно изучить уже сейчас. По мере работы с примерами в каждой главе может возникнуть необходимость в использовании этого смарт-тега, поэтому его особенности желательно изучить на раннем этапе.


Ввод данных в форму



После создания формы приходит время второго этапа — ввода и изменения данных. Откройте форму Растения, щелкнув один раз на ссылке Формы на панели Объекты и дважды — на ссылке Растения в окне Растения: база данных. Как видите, пользовательский интерфейс формы напоминает таковой для некоторых таблиц и запросов, рассматриваемых ранее, однако содержит и новые элементы. Форма, представленная на рис. 8.13, содержит элементы, перечисленные далее.

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



Рис. 8.12. Чтобы продемонстрировать работу смарт-тега, введите несуществующее имя поля



Рис. 8.13. Базовая форма содержит немало информации


Управление полями и записями



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

Для открытия формы Access выбирает первый элемент управления. Например, форма Растения Access открывается с помощью элемента управления Имя (название растения подсвечивается). Для перехода от одного элемента управления к другому применяется клавиша <Таb>. Иногда аналогичные функции позволяет выполнять клавиша <Enter>, но не всегда, поэтому лучше пользоваться первой клавишей. С помощью клавиши <Tab> выберите элемент управления ЛатинскоеИмя. Затем нажмите клавишу <Enter>, чтобы перейти к полю Примечание. Нажатие клавиши <Enter> в этом поле с типом MEMO приведет к переходу точки ввода на другую строку. Поэтому для перехода к элементу управления Фотография следует снова нажать клавишу <Таb>. В табл. 8.1 перечислены комбинации клавиш, предназначенные для управления формой, а в табл. 8.2 — для управления формой, включающей подчиненную форму.

Таблица 8.1. Комбинации клавиш для управления формой

Комбинация клавиш
Результат
<F5+число>
Выбор определенной записи
<Таb>
Переход к следующему полю
<Shift+Tab>
Переход к предыдущему полю
<End>
Переход к последнему полю текущей записи
<Ctrl+End>
Переход к последнему полю последней записи
<Home>
Переход к первому полю текущей записи
<Ctrl+Home>
Переход к первому полю первой записи
<Ctrl+Page Down>
Переход к текущему полю следующей записи
<Ctrl+Page Up>
Переход к текущему полю предыдущей записи


Таблица 8.2. Комбинации клавиш для управления формой с подчиненной формой

Комбинация клавиш
Результат
<Таb>
Переход к подчиненной форме из поля, предшествующего подчиненной форме в главной форме
<Shift+Tab>
Возвращение к подчиненной форме из поля, следующего за подчиненной формой в главной форме
<Ctrl+Tab>
Выход из подчиненной формы и переход к следующему полю главной формы или к следующей записи
<Ctrl+Shift+Tab>
Выход из подчиненной формы и переход к полю, предшествующему подчиненной форме в главной форме или предыдущей записи


Обратите внимание на тот факт, что при выборе элемента управления Заметки отображается полоса прокрутки. Она появилась по той причине, что элемент управления основан на типе данных MEMO (на уровне таблицы). Мы выбрали этот тип при создании таблицы Растения потому, что он позволяет хранить больший объем данных, чем обычный текстовый тип данных.

Для перехода к следующей записи щелкните на кнопке Новая запись панели управления. Нажав клавишу <Таb>, вы перейдете к последней записи, в данном случае к элементу управления ИмяКаталога. Нажмите клавишу <Таb> еще раз.

Выберите нужное поле и введите данные. По завершении этой операции нажмите клавишу <Таb> или <Enter>. Например, при выделенной записи Календула выберите элемент управления Заметки и введите такой текст: «Данное растение предпочитает прохладную погоду и частое воздействие солнечных лучей. В жаркую погоду необходимо обеспечить усиленный полив. Осенью ожидается хорошее цветение». Заверши :-ввод, нажмите клавишу <Таb> для перехода к элементу управления Фотография. Пока что ни одна запись не содержит изображений, однако добавить их несложно — нужно лишь выполнить такие действия.

1. Выбрав элемент управления Фотография, задайте команду Вставка>Объект (кроме того, можно щелкнуть правой кнопкой мыши на поле Фотография и выбрать из появившегося подменю команду Добавить объект).

2. В левой области диалогового окна выберите переключатель Создать из файла.

3. Щелкните на кнопке Обзор для выбора файла изображения. Такие файлы рекомендуется хранить вместе с базой данных. Обнаружив нужный файл, дважды щелкните на нем или выберите его щелчком левой кнопкой мыши и щелкните на кнопке ОК. В поле Файл появится название графического файла (рис. 8.14). Установите флажок Связь только при намерении изменить графический файл. В данном случае мы этого делать не станем.



Рис. 8.14. Укажите графический файл, который будет отображаться для выбранной записи


4. Щелкните на кнопке ОК.

5. В поле Фотография, скорее всего, появится лишь часть изображения, как показано на рис. 8.15. Щелкните на кнопке Свойства, расположенной на панели инструментов формы.



Рис. 8.15. Иногда в элементе управления отображается фрагмент изображения из файла


6. В окне Присоединенная рамка объекта: Фотография выберите раскрывающийся список Установка размеров, а затем — опцию Вписать в рамку (рис. 8.16). По умолчанию используется опция Фрагмент.

7. Закройте окно Присоединенная рамка объекта: Фотография, после чего в поле Фотография появится полная версия изображения. Более подробно свойства элементов управления описываются в главе 13.

8. Повторив пп. 1—4, добавьте изображение для каждого растения.

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



Рис. 8.16. В раскрывающемся списке Установка размеров выберите опцию Вписать в рамку


Чтобы посмотреть, как изображение выглядит в режиме таблицы, откройте таблицу Растения после того, как добавите графические файлы. На рис. 8.17 показано, как она выглядит после вставки изображений для каждой записи. Теперь в каждой строке столбца Фотография появилась надпись Bitmap Image (растровое изображение). Как видите, изображение в таблице, в отличие от форм и отчетов, не отображается.



Рис. 8.17. В режиме таблицы графические файлы представлены в виде текстовой надписи


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

 удалить с помощью клавиши <Delete>;  присвоить новое название (записью);  использовать мышь для указания места расположения точки ввода, так чтобы изменить один или несколько символов в названии.


После внесения изменений в записи значок выбора записей изменится на небольшой значок в виде ручки. В качестве эксперимента выберите элемент управления ЛатинскоеИмя в форме Растения и нажмите клавишу <Delete>. He забудьте потом нажать клавишу <Esc> или комбинацию клавиш <Ctrl+Z> для отмены произведенных действий, чтобы предотвратить потерю данных.

Добавление и удаление записей



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

 щелкните на кнопке Новая запись, расположенной на панели управления формы (этот способ уже упоминался);  щелкните на кнопке Новая запись на панели инструментов формы;  выберите команду Вставка>Новая запись;  нажмите комбинацию клавиш <Ctrl++>.


Обратите внимание на частично скрытое название поля ЛатинскоеИмя слева от элемента управления (какая часть имени отображается, зависит от разрешения экрана), в этом и заключается один из незначительных недостатков, присущих работе мастера: для ввода названия поля не выделено достаточно места. О том, как можно изменить размеры «непокорных» элементов управления, речь идет в главе 13, «Настройка форм».



Все описанные действия приведут к созданию пустой записи. Далее мы попытаемся создать заполненную запись.

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

2. Выбрав элемент управления Имя, введите Французская лаванда и нажмите клавишу <Таb>.

3. Введите название Lavandula stoechas и трижды нажмите клавишу <Таb>.

4. Откройте раскрывающийся список Номер типа и выберите Декоративное; нажмите клавишу <Таb>.

5. Введите в поле название Цветоводство.

6. Сохраните запись, щелкнув на кнопке Сохранить на панели инструментов формы, нажав комбинацию клавиш <Shift+Enter> или перейдя к другой записи. На рис. 8.18 показан полученный результат — новая запись.



Рис. 8.18. Изображение нового растения еще не добавлено


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

 щелкните на значке выбора записи и нажмите клавишу <Delete>;  выберите команду Правка>Удалить;  щелкните на кнопке Удалить запись, которая расположена на панели инструментов формы.


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

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

Не все формы предоставляют возможность добавлять новые записи. Если кнопка Новая запись отключена, значит, в форме можно только просматривать и изменять уже существующие записи.

Во время ввода данных запись можно удалить, дважды нажав клавишу <Esc>. При этом запись не должна быть предварительно сохранена.

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



В главе 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, не является единственной, совпадающей с введенным запросом. В таком случае необходимо еще раз щелкнуть на кнопке Найти далее для просмотра следующей записи. Продолжайте щелкать на кнопке до тех пор, пока не обнаружите искомой записи. Завершив поиск, закройте диалоговое окно Поиск и замена.

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

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


Подведем итоги...



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

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