Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНОЕ ПОСОБИЕ по БД моя версия.doc
Скачиваний:
29
Добавлен:
27.09.2019
Размер:
4.22 Mб
Скачать

Раздел 3 Организация пользовательского интерфейса

Тема 3.1 Работа с формами: создание, модификация, удаление

Разработка форм

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

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

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

MS Access предлагает несколько способов создания форм. Самый простой из них – автоматическое создание форм на основе таблицы или запроса. Для автоматического создания формы нужно: выбрать из объектов «Формы» в окне «База данных» и нажать кнопку «Создать» (Рис. 3.1). Появится диалоговое окно. В списке диалогового окна «Новая форма» выделить один из вариантов автоформы. В нижней части диалогового окна выбрать имя таблицы или запроса, которые будут использованы в качестве источника данных для формы.

Рис. 3.1 Автоматическое создание форм

Другим простым и быстрым способом создания формы является использование Мастера форм (Рис. 3.2).

Р ис. 3.2 Обращение к мастеру форм

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

Шаг 1. В поле со списком «Таблицы и запросы» выбрать таблицу (таблицы), или запрос, которые будут использованы в качестве источника данных. При этом отображается перечень допустимых полей (все поля выбранной таблицы или запроса). Необходимо выбрать нужные для формы поля с помощью кнопок «>», «>>». Отменить выбор поля можно кнопками «<», «<<».

Шаг 2. Выбрать стиль оформления будущей формы.

Шаг 3. Выбрать внешний вид формы.

Шаг 4. Задать заголовок формы.

Р ис. 3.3 Создание формы с помощью мастера

Форма сохраняется с указанным именем. Открыв ее в режиме формы, получим следующее, созданное нами окно (Рис. 3.4):

Рис. 3.4 Форма «Личные данные студентов» в режиме формы

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

Редактировать созданную форму можно в режиме конструктора форм. (Рис. 3.5). Здесь можно установить размер и положение объектов, редактировать элементы формы.

Макет формы состоит из разделов. Любая форма может включать следующие разделы:

раздел Заголовок формы определяет верхнюю часть формы;

раздел Верхний колонтитул определяет верхний колонтитул страницы при печати формы;

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

раздел Нижний колонтитул определяет нижний колонтитул страницы при печати формы;

раздел Примечание формы определяет нижнюю часть формы.

Рис. 3.5 Форма «Личные данные студентов» в режиме конструктора

Элементы формы, которые содержат данные, полученные из таблиц и запросов, состоят из двух частей (Рис. 3.6):

Подпись

Комментарий к данным. На экране будет отображаться то же, что и в этом окне. (Т.е. слово «фамилия»).

Поле ввода

Содержимое соответствующей ячейки таблицы или запроса, по которым создана форма. (Т.е. фамилия человека, например Иванов).

Рис. 3.6 Элементы формы

Для редактирования или перемещения элемента формы, его надо выделить. При этом появятся маркеры, за которые можно будет перемещать элемент или изменять его размер (Рис. 3.7).

Рис. 3.7 Назначение маркеров на элементах форм

Кроме того, станет активной панель инструментов Формат (форма/отчет) (Рис. 3.8), с помощью которой можно изменять стиль, размер, цвет шрифта, стиль оформления элементов формы.

Рис. 3.8 Панель инструментов Формат (форма/отчет)

Р едактирование элементов формы можно проводить, и с помощью пункта «Свойства», выбранного из контекстного меню (Рис. 3.9).

Рис. 3.9 Окно «Свойства» для редактирования форм

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

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

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

Панель элементов

В режиме конструктора форм можно использовать панель элементов (Рис. 3.10). Если в режиме конструктора форм нет панели элементов, ее надо открыть с помощью пункта

Меню Вид Панель элементов

Рис. 3.10 Панель элементов конструктора форм

Рассмотрим назначение некоторых элементов управления.

В верхней части панели элементов расположены две специальные кнопки: «Выбор объектов» и «Мастера» . Кнопка «Выбор объектов» в нажатом состоянии означает, что в данный момент включен режим выделения элементов, т. е. реакцией на щелчок мыши в форме будет выделение соответствующего элемента управления или другого объекта, попавшего в указанную область. Этот режим включен по умолчанию. Однако если нажать на другую кнопку на панели элементов, предназначенную для создания элемента управления, кнопка выбора объектов автоматически отжимается. Ее нужно снова нажать, если надо вернуться в режим выделения объектов. Нажатая кнопка «Мастера» означает, что при размещении элемента управления на форме запустится соответствующий мастер. При отжатой кнопке мастера не запускаются и элементы требуется настраивать вручную. Мастера элементов помогают создавать элементы управления, требующие определенной настройки, такие как поля со списком, командные кнопки, группы элементов выбора. Практически для каждого такого элемента управления существует свой мастер.

Элемент управления «Надпись»

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

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

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

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

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

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

Элемент управления «Поле»

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

Элементы управления «Выключатель», «Переключатель», «Флажок», «Группа»

Три типа элементов: выключатели , переключатели и флажки выполняют одинаковые функции и используются для представления значения логического типа данных. Они могут принимать значения о (Нет) или -1 (Да). Различаются они внешним видом. Выключатель имеет значение «Да», когда он включен, и «Нет» — когда выключен. Переключатель имеет значение «Да», когда он выбран, и «Нет» — когда не выбран. Флажок имеет значение «Да», когда он установлен и «Нет» — когда сброшен.

Элемент управления «Группа» используется для того, чтобы дать возможность выбрать одно значение из небольшого набора вариантов. Если элементы выбора объединены с помощью элемента управления Группа, то только один из этих элементов может быть выбран пользователем, т. е. получит значение «Да». С каждым элементом управления в группе сопоставляется уникальное число, однозначно определяющее данный элемент в группе, и это число сохраняется в качестве значения свойства элемента управления. При создании этого элемента управления запускается мастер, разбивающий создание группы на несколько шагов (Рис. 3.11).

Р ис. 3.11 Мастер создания группы переключателей

Чтобы привязать группу к источнику данных, надо выделить элемент Группа (щелкнуть по рамке группы) и установить значение свойства «Данные»

Элемент управления «Список»

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

Для создания списка можно использовать мастер (Рис. 3.12), который разбивает процесс создания списка на несколько шагов:

Р ис. 3.12 Мастер создания списка

Элемент управления «Список» интересен тем, что он позволяет делать множественный выбор в списке, т. е. в нем можно выбрать одновременно несколько элементов. Такая возможность требуется довольно часто, когда задаются критерии отбора записей. Например, в базе данных объектов недвижимости надо найти интересующие клиента квартиры, а его интересуют квартиры в определенных районах города. Можно, конечно, выбирать в списке по очереди сначала один район, чтобы выбрать все квартиры в данном районе, потом другой и т. д. Однако удобнее в этом случае использовать для указания интересующих районов список, в котором выбираются сразу все интересующие районы, а потом формируется соответствующий запрос к базе данных.

Элемент управления «Поле со списком»

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

Поле со списком позволяет не только выбирать значение из списка, но и вводить его прямо в поле ввода;

Поле со списком не накладывает ограничений на длину списка, т. к. в нем отображается только текущее значение, а остальные значения выводятся, когда пользователь щелкает мышью по стрелке вниз с правой стороны поля. Соответственно, элемент «Поле со списком» занимает на форме меньше места, чем элемент Список;

Поле со списком позволяет выбрать только один элемент из списка.

Основные свойства для элемента управления «Поле со списком» такие же, как и у элемента управления «Список». При создании поля со списком вызывается мастер, очень похожий на предыдущий.

Элемент управления «Кнопка»

Элемент управления «Кнопка» является очень важным элементом формы, поскольку именно с кнопками связаны различные действия, выполняемые пользователем в приложении (сохранение введенных данных, вызов другой формы, вывод на печать документа и т. д.). Кнопка выбирается, когда пользователь щелкает по ней мышью. При создании кнопки запускается мастер, который предлагает выбрать действие, которое будет происходить при ее нажатии (Рис. 3.13).

Р ис. 3.13 Мастер создания кнопок

Элементы управления Свободная и Присоединенная рамка объекта

Эти элементы используются для того, чтобы вставить в форму объекты, созданные в других приложениях, например документ Word или таблицу Excel или рисунок. Эти элементы различаются тем, будут ли объекты, вставленные в эти рамки, храниться в таблицах Access или не будут. «Свободная рамка объекта» содержит объект, который хранится либо в самой форме, либо во внешнем файле и независимо от того, какая запись отображается в форме, будет отображаться один и тот же объект. Этот объект может быть изменен прямо из формы с помощью того приложения, в котором он был создан. «Присоединенная рамка объекта» содержит объект, который хранится в таблице, в поле, имеющем тип Поле объекта OLE. Поэтому присоединенная рамка объекта имеет в качестве источника данных поле в базовой таблице. Типичный пример такого элемента управления — фотографии людей, изделий и т. д.

Элемент управления Рисунок

Этот управления очень похож по своему назначению и свойствам на элемент «Свободная рамка объекта». Он предназначен для вставки в форму графических файлов, но требует меньше системных ресурсов и работает быстрее, чем «Свободная рамка объекта». Форматы графических файлов, которые поддерживаются Access, разнообразны — это растровые рисунки, метафайлы, значки и др.

Элемент управления «Вкладка»

Элемент управления «Вкладка» используется для создания многостраничных форм. Он позволяет придать формам такой же вид, как у диалоговых окон свойств в Windows. В этом элементе может быть от одной до нескольких вкладок. Переключение между вкладками формы выполняется щелчком кнопкой мыши по ярлыку вкладки. Вкладки могут иметь два варианта оформления: ярлыки и кнопки. Если требуется отобразить большое количество вкладок, можно их разместить в несколько рядов.

Элемент управления «Подчиненная форма/отчет»

Элемент управления «Подчиненная форма/отчет» используется для отображения в форме другой формы (Рис. 3.14).

Рис. 3.14 Использование элемента «Подчиненная форма»

Для того чтобы, например, разделить данные в таблице «Сотрудники» на служебные и личные, можно проступить следующим образом (Рис. 3.15):

Рис. 3.15 Создание подчиненной формы

Создание многотабличных форм

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

Рис. 3.16 Схема данных таблиц «Преподаватели» и «Предметы»

Для создания такой формы в режиме мастера форм надо:

- выбрать в начале все нужные поля из основной таблицы (преподаватели), а затем – недостающие поля из дополнительной таблицы (предметы), кроме альтернативного ключа.

Двигаясь далее по шагам мастера создания форм, нужно выбрать:

- вид представления данных (подчиненную или связанную форму);

- внешний вид подчиненной формы;

- стиль оформления;

- имена формы и подчиненной формы (Рис. 3.17)

Рис. 3.17 Создание многотабличной формы для ввода данных

В результате выполнения этих действий, появится форма для ввода данных, которая выглядит следующим образом (Рис. 3.18):

Рис. 3.18 Внешний вид многотабличной формы

Создание управляющих кнопок в формах

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

- Запросы на создание таблицы, добавление данных, обновление данных создаются одинаковым образом (Рис. 3.19).

Шаг 1. Создать нужный запрос: на создание таблицы (например – таблицы уволившихся сотрудников), добавление данных (например – добавление в список студентов тех, кто был в академическом отпуске) или обновление данных (например – изменение курса).

Шаг 2. Открыть объект «Формы», выбрать пункт «Создание формы в режиме конструктора». Появится пустая форма в режиме конструктора.

Шаг 3. На панели элементов выбрать элемент «Кнопка». Нарисовать кнопку.

Шаг 4. В появившемся окне выбрать категорию «Разное», а в действиях – «Выполнить запрос».

Шаг 5. Выбрать название запроса, который надо выполнить.

Шаг 6. Создать надпись на кнопке (или выбрать рисунок).

Рис. 3.19 Этапы создания кнопок для выполнения запроса на создание таблицы, добавление, обновление данных

В результате выполнения данных действий появится форма, внешний вид которой представлен на Рис. 3.20.

Рис. 3.20 Форма для выполнения запросов на создание таблицы, добавление или обновление данных

- Запрос на удаление данных

Шаг 1. Создать запрос на удаление данных.

Шаг 2. Создать макрос. В окне «Инструкция SQL» скопировать запрос на удаление, записанный на языке запросов SQL.

Шаг 3. Открыть объект «Формы» «Создание формы в режиме конструктора».

Шаг 4. На панели элементов выбрать элемент «Кнопка».

Шаг 5. В появившемся окне выбрать категорию «Разное», а в действиях – «Выполнить макрос».

Шаг 6. Выбрать макрос для выполнения

Шаг 7. Создать надпись на кнопке:

(Рис. 3.21)

Рис. 3.21 Этапы создания кнопок для выполнения запроса на удаление данных

В результате выполнения данных действий, появится кнопка, представленная на Рис. 3.22.

Рис. 3.22 Форма для выполнения запроса на удаление данных