Учимся работать с СУБД АCCESS 2003 (на примере задачи кадровой службы) продолжение

Учимся работать с СУБД АCCESS 2003 (на примере задачи кадровой службы) продолжение

Г.А. Серова, профессор РГГУ;

М.Н. Белова, доцент РГГУ

Занятие   Создание форм ввода данных на базе таблиц
          Создание форм с помощью Мастера форм на базе одной таблицы
          Создание форм с помощью Мастера форм на базе нескольких таблиц
          Создание форм в режиме Конструктор

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

В этом номере мы познакомим Вас с созданием форм ввода и редактирования данных.

Для создания формы может быть применен один из следующих способов:

• сохранение таблицы как формы;
• создание формы на базе таблицы с использованием средства автоформы;
• создание формы на базе таблиц с помощью Мастера форм;
• построение формы «вручную» в режиме Конструктор.

Формы являются основным средством организации интерфейса пользователя.

При создании форм преследуются следующие цели:
• ввод данных;
• просмотр, редактирование и вывод данных, причем формы обеспечивают вывод на экран данных в выбранном пользователем представлении;
• создание форм на базе нескольких таблиц;
• ввод дополнительных (вычисляемых) полей;

Ввод данных с помощью форм имеет ряд преимуществ в сравнении с вводом данных в обычном режиме Таблицы, среди них следующие:

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

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

Для использования таблицы при создании формы следует вызвать контекстное меню выбранной таблицы, далее выбрать команду Сохранить как. В результате появится диалоговое окно Сохранение, в котором требуется задать имя формы и в списке Как выбрать Форма (рис.1).

Создание форм с помощью Мастера Форм на базе одной таблицы

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

• в окне База данных активизируйте объект Форма;
• щелкните по кнопке  Создать или задайте команду Вставка/Форма; в результате на экране появится окно Новая форма, показанное на рис.2.;

• в окне Новая форма выберите режим Мастер форм и задайте имя таблицы, для которой будет создаваться форма; появится диалоговое окно Создание форм (рис. 3.);

• в окне Создание форм определите поля для выбранной таблицы;

• ответьте на все вопросы Мастера форм; введите имя формы, заменив вводимое по умолчанию имя таблицы, и щелкните кнопку Готово .

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

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

• изменение оформления заголовка формы (размер шрифта, цветное оформление, тип шрифта), заголовок может быть вызван командой Вид/Заголовок/Примечание;

• изменение размещения полей на экране, оформление надписей полей (различные шрифты, цвет, начертание); список полей может быть вызван командой Вид/Список полей или с помощью кнопки «Список полей», расположенной на панели инструментов;

• определение (на основании анализа вводимой в поля информации) тех полей, для которых целесообразно создать надпись, поле со списком или вычисляемое поле;

• создание командных кнопок для выполнения определенных действий: добавление, удаление, поиск записей; перемещение по записям, закрытие формы и т.п.

Форма в целом, каждый ее раздел (область данных, заголовок, примечание) или любой элемент управления имеют свой список свойств, которые устанавливаются с помощью окна свойств, вызываемого командой Вид/Свойства или кнопкой «Свойства»; при этом соответствующий элемент должен быть предварительно выделен.

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

• щелкните по соответствующему элементу управления, расположенному на Панели элементов, в результате он при перемещении указателя мыши превратится в значок выбранного элемента управления;

• поместите указатель в нужное место формы и снова щелкните.

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

Основными элементами управления Панели элементов являются следующие:

Надпись используется для внесения в форму текстовых пояснений и для создания надписей:

• выберите на Панели элементов элемент управления Надпись и щелкните по нему мышью;

• укажите место в форме, где он должен быть размещен, и снова щелкните мышью;

• введите нужный текст и отформатируйте его согласно общим правилам.

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

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

• список может быть создан при формировании поля со списком,

• элементы списка могут находиться в отдельной таблице.

Для создания полей со списком выполните следующие операции:

• удалите поле (вместе с надписью), на базе которого должно быть создано поле со списком;

• щелкните по элементу управления Поле со списком;

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

• ответьте на все вопросы Мастера.

Примечание. При вызове Мастера элементов кнопка «Мастера», расположенная на Панели элементов, должна быть активна.

Вычисляемое поле позволяет производить вычисления и сделать вычисляемое значение новым полем. Для создания вычисляемого поля выполните следующие операции:

• щелкните по элементу управления Поле,
•  щелкните в том месте формы, где будет расположено вычисляемое поле;

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

Кнопка, для создания которой следует:

• выбрать элемент управления Кнопка и щелкнуть по нему мышью;

• определить место, где должен быть помещен элемент управления, и снова щелкнуть; в результате будет вызван Мастер создания кнопок;

• в появившемся диалоговом окне Создание кнопок, показанном на рис. 4, указать соответствующую категорию: Переход по записям, Обработка записей, Работа с формой и т.д., в которой выбрать требуемое действие.

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

Примечание. Для изменения рисунка на кнопке, дважды щелкните по кнопке для раскрытия окна свойств кнопки. Активизируйте строку Рисунок и, нажав кнопку с тремя точками, вызовите Конструктор рисунков.

Задание. Создать форму Данные об отделах  с помощью Мастера форм для ввода и просмотра данных таблицы Отдел. Отредактировать форму, а именно:

• задать заголовок и изменить размещение полей;

• создать командные кнопки для добавления, удаления, поиска и просмотра записей, а также кнопку закрытия формы;

• перейти в Режим формы с помощью команды Вид/Режим формы и проверить правильность функционирования формы;

• вызвать окно свойств формы, активизировать вкладку Макет и изменить свойства формы, убрав Полосы прокрутки, Область выделения, Разделительные линии, Кнопки перехода, как показано на рис.5.;

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

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

Задание. С помощью Мастера форм создать форму Сведения о сотрудниках для ввода и просмотра данных. Далее:

• ввести в форму дополнительное вычисляемое поле Премия (на базе поля Оклад), задав выражение: =[Оклад]*1,5;

• поле Должность сделать полем со списком;

• перейти в Режим формы с помощью команды Вид/Режим формы и убедиться, что вид формы соответствует виду, представленному на рис. 6;

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

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

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

• открыть в режиме конструктора форму, в которую будет внедряться подчиненная;

• выбрать на Панели элементов элемент управления Подчиненная форма/Отчет и щелкнуть мышью, предварительно убедившись, что кнопка Мастера активна;

• указать место, где должен быть размещен данный элемент, и снова щелкнуть мышью; в результате запустится Мастер и откроется диалоговое окно;

• в диалоговом окне Мастер подчиненных форм (рис. 7) установить переключатель в положение «Имеющиеся формы», выбрать из списка нужную форму и щелкнуть по кнопке  Далее;

• в следующем диалоговом окне Мастера определить поля, по которым главная форма будет связана с подчиненной (как правило, корректные связи устанавливаются автоматически), и щелкнуть по кнопке Далее;

• ввести имя подчиненной формы и щелкнуть по кнопке Готово.

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

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

Продолжение в следующем номере журнала

Защита формы и данных

Формы создаются для использования в качестве интерфейса доступа к данным, поэтому немаловажным является вопрос, как защитить саму форму и связанные с ней данные от случайных или преднамеренных действий других пользователей. Окно свойств формы, показанное на рис. 9, содержит ряд параметров, которые позволяют решить эту проблему; рассмотрим основные:

• для защиты данных от редактирования необходимо в окне свойств формы перейти к вкладке Данные и установить в строке «Разрешить изменение» значение «Нет»;

• для защиты данных от удаления необходимо в окне свойств формы перейти к вкладке Данные и установить в строке «Разрешить удаление» значение «Нет»;

• для защиты данных от добавления новых записей необходимо в окне свойств формы перейти к вкладке Данные и установить в строке «Разрешить добавление» значение «Нет»;

• для запрета просмотра пользователями уже существующих данных необходимо в окне свойств формы перейти к вкладке Данные и установить в строке «Ввод данных» значение «Да»; при этом форма может быть использована только для ввода данных. Если дополнительно в строке «Разрешить добавление» установить значение «Нет», то форма будет заблокирована, и пользователи вообще ничего не смогут сделать с данными формы;

• для разрешения доступа к данным только для чтения необходимо в окне свойств формы перейти к вкладке Данные и установить в строке «Тип набора записей» значение «Статический»; это идентично одновременной установке значения «Нет» параметров «Разрешить изменение», «Разрешить удаление», «Разрешить добавление».

Создание форм с помощью Мастера Форм на базе нескольких таблиц

Формы могут быть созданы на базе нескольких таблиц. Для этого необходимо выполнить следующее:

• в окне База данных активизировать объект Форма;

• щелкнуть по кнопке   или задать команду Вставка/Форма; в результате на экране появится окно Новая форма (см. рис. 2);

• в окне Новая форма выбрать режим Мастер форм и задать имя первой таблицы, для которой будет создаваться форма;

• в следующем диалоговом окне Создание форм (см. рис. 3)

• определить поля для первой выбранной таблицы,

• указать имя второй таблицы,

• определить поля для второй выбранной таблицы;

• на следующем шаге Мастера форм появится окно, представленное на рис. 10, в котором рекомендуется выбрать тип формы, например Подчиненные формы;

• ответить на все остальные вопросы Мастера форм.

В СУБД Access  предусмотрены три типа форм: Подчиненные, Связанные и Одиночная. Первые два типа форм справедливы в том случае, если в качестве вида представления данных выбрана главная таблица – Отдел. Виду представления данных с выделением подчиненной таблицы (Сотрудник) соответствует третий тип формы – Одиночная.

Задание. Создать форму типа Подчиненная на базе двух таблиц: Отдел и Сотрудник, включив поля, согласно рис. 11. Создать в форме поле со списком для поиска записей по полю Номер отдела, для этого:

• в режиме конструктора формы активизировать кнопку Мастера и задать элемент управления Поле со списком;

• в окне Создание полей со списком (рис.12.) выбрать переключатель «Поиск записей в форме на основе значения, которое содержит поле со списком»;

• на следующем шаге мастера в качестве выбранных полей указать Номер отдела и Наименование;

• выполнить остальные шаги Мастера.

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

Режим Конструктор является универсальным инструментом при создании и редактировании форм. Данный режим используется для редактирования форм, созданных с помощью Мастера форм; для создания форм типа главной кнопочной формы (форма Меню) и для создания диалоговых окон.

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

• в окне Новая форма (см. рис 2) выбрать режим Конструктор и задать имя таблицы, для которой будет создаваться форма; в случае создания кнопочной формы, содержащей элементы управления типа Кнопка, имя таблицы не задается;
• в открывшееся окно конструктора формы, содержащее первоначально только область данных, добавить область заголовка и примечания с помощью команды Вид/Заголовок/Примечание и колонтитулы – командой Вид/Колонтитулы; окно примет вид, изображенный на рис. 13;
• вызвать список полей командой Вид/Список полей (если форма создается на базе таблицы) или воспользоваться элементами управления, вызвав Панель элементов командой Вид/Панель элементов (если создается кнопочная форма);
• для настройки параметров формы использовать команду Вид/Свойства;
• для изменения стиля формы выполнить команду Формат/Автоформат.

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

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

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

3. в процессе работы Мастера:

• выбрать категорию Работа с формой и операцию Открыть форму, если будет подключаться форма;

• ввести имя формы, которая будет открываться при нажатии этой кнопки;

•  указать режим «Открыть форму и показать все записи», при котором будут отображены все записи открываемой формы;

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

Задание. Создать главную кнопочную форму (типа Меню), подключив в виде кнопок созданные в предыдущих заданиях формы Данные об отделах и Сведения о сотрудниках; проверить работу меню; вид главной кнопочной формы показан на рис.14.
Иногда целесообразно автоматически запускать главную кнопочную форму непосредственно при открытии базы данных. Для этого следует задать команду Сервис/Параметры запуска, в результате откроется диалоговое окно Параметры запуска, показанное на рис. 15. В данном окне в поле Вывод формы/Страницы необходимо указать имя той формы, которая должна отображаться при открытии базы данных, т.е. имя главной кнопочной формы.

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

Проверка ошибок в формах

В Access существует встроенное средство проверки наиболее распространенных ошибок в формах (отчетах). Для его включения требуется:

• задать команду Сервис/Параметры;
• в диалоговом окне Параметры (рис. 16) выделить вкладку «Проверка ошибок»;
• установить флажок для параметра «Разрешить проверку ошибок»;
• настроить средство проверки с помощью параметров группы «Правила конструирования форм и отчетов».

Ошибки в формах (отчетах) отображаются в виде маленького цветного треугольника в верхнем левом углу элемента управления.

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