Создание формы с помощью Мастера
Лабораторная работа №8
Использование форм для ввода и редактирования данных. Создание форм при помощи Мастера
Цель занятия
1. Использование форм для ввода и редактирования данных.
2. Изучение способов и средств создания форм.
Общие сведения
Формы являются мощным и гибким средством ввода, редактирования и просмотра информации в БД. От того, как разработаны формы БД, во многом зависит эффективность работы БД в целом.
MS Access допускает использование в формах данных одной или нескольких таблиц или запросов. При этом пользователь может расположить поля формы в удобном для себя виде. В формах могут использоваться различные элементы, автоматизирующие процесс ввода, редактирования и просмотра информации.
На рисунке 8.1 показана форма для просмотра содержимого таблицы «Сотрудники».
рис. 8.1. Форма для просмотра содержимого таблицы «Сотрудники» |
В арсенале MS Access имеется множество способов создания различных форм. Некоторые из них позволяют очень быстро создавать стандартные формы.
Для того чтобы быстро создать форму, необходимо:
1. На вкладке Таблицы области переходов выделить таблицу, для которой нужно создать форму (щелчком левой кнопки мыши выделить, например, название таблицы «Покупатели» БД «Борей»).
2. Выполнить команду Форма из группы Формы вкладки Создание ленты инструментов.
Через несколько секунд на экране появится готовая форма (рис. 8.2).
рис. 8.2. Пример формы. Форма «Покупатели» |
3. Сохранить форму.
Все поля созданной формы расположены в столбец, в том порядке, в котором они расположены в таблице «Покупатели». Данные о покупателях выводятся на экран постранично. Каждая страница содержит данные только об одном покупателе. Для просмотра записей о других покупателях можно использовать клавиши управления курсором:
· Page Down - следующая запись;
· Page Up - предыдущая запись;
· CTRL + Home - первая запись;
· CTRL + End - последняя запись.
Кроме этого выполнять переходы между записями можно с помощью мыши, нажимая специальные кнопки, расположенные внизу формы (рис. 8.3).
рис. 8.3. Панель с кнопками навигации по записям |
- первая запись;
- предыдущая запись;
- поле номера записи;
- новая запись;
- последняя запись;
- следующая запись.
Поле номера записи не только отображает номер текущей записи, но и позволяет быстро перейти к записи, номер которой можно вписать в это поле.
Способы создания форм
Другие способы создания форм отображены в группе Формы вкладки Создание ленты инструментов (рис. 8.4).
рис. 8.4. Способы создания форм |
Разделенная формапозволяет создавать формы, в верхней части которых отображается таблица, а в нижней – форма для ввода данных в запись, выделенную в таблице.
Несколько элементов – создание формы, в которой записи отображаются в виде таблицы, при этом каждая запись занимает отдельную строку.
Сводная диаграмма позволяет создавать форму с диаграммой.
Мастер форм используется для быстрого создания формы на основе выбранных полей таблиц или запросов. При этом используются уже готовые шаблоны расположения и оформления полей в создаваемой форме. Этот способ создания полезен на первоначальных этапах создания форм.
Сводная таблица создает форму со сводной таблицей, позволяющей производить изменение и анализ данных в табличном процессоре MS Excel.
Пустая форма позволяет быстро создать простую форму с требуемыми характеристиками. Создание формы происходит в режиме макета.
Конструктор форм позволяет самостоятельно создавать формы с произвольным расположением полей. Каждому полю в форме можно установить свойства для просмотра, ввода и редактирования данных. Также в режиме Конструктора можно вносить изменения в формы, например, добавлять настраиваемые типы элементов управления.
Для создания формы описанными выше способами нужно указать источник данных для формы. Им может быть таблица или запрос текущей БД. В большинстве способов создания форм источник данных сначала выделяется в области переходов, в Конструкторе форм источник данных может быть указан на странице свойств создаваемой формы в свойстве Источник записей.
Создание формы с помощью Мастера
По сравнению с простыми формами, формы, созданные с помощью Мастера, могут быть более разнообразными, содержат задаваемые пользователем поля таблицы или запроса. При этом возможно использование нескольких таблиц.
Для создания новой формы необходимо выполнить описанные ниже действия:
1. На вкладке Создание ленты инструментов в группе Формы выбрать команду Другие формы и в открывшемся списке выбрать строку Мастер форм.
Работа Мастера разбита на несколько шагов. При выполнении каждого шага пользователь должен ответить на поставленные Мастером вопросы и перейти к следующему шагу, нажав кнопку Далее.
2. В первом диалоговом окне нужно указать таблицу - источник данных и ее поля, включаемые в новую форму (рис. 8.5).
рис. 8.5. Первая вкладка Мастера форм |
3. Из списка Доступные поля, нажимая кнопку , добавить в список Выбранные поля все поля этой таблицы или, нажимая кнопку , добавить только необходимые поля таблицы.
4. Затем в поле таблица/запрос выбрать при необходимости другую таблицу и добавить в список Выбранные поля необходимые поля этой таблицы, как описано в пункте 3.
5. Нажать кнопку Далее, чтобы перейти к следующему диалоговому окну, в котором нужно выбрать порядок представления информации в форме. Проще говоря, нужно определить, каким образом будут группироваться данные в форме.
MS Access предлагает выбрать способ группировки данных в новой форме. Выбор способа представления данных сопровождается показом макета создаваемой формы в правой части диалогового окна (рис 8.6).
Под макетом формы в диалоговом окне расположены два переключателя:
· Подчиненные формы;
· Связанные формы.
Эти переключатели определяют один из двух способов вывода информации.
рис. 8.6. Вторая вкладка Мастера форм |
Установленный по умолчанию переключатель Подчиненные формы сообщает Мастеру о том, что необходимо в создаваемой форме выводить данные о Сотруднике (в случае нашего примера), а все его Заказы сгруппировать и поместить внутрь создаваемой формы в виде отдельной формы (эта форма называется подчиненной).
Переключатель Связанные формы сообщает Мастеру создания форм о необходимости создания отдельной формы для вывода Заказов текущего Сотрудника (связанной формы). Эта форма будет открываться при нажатии специальной кнопки, которая будет помещена в главной форме.
Выбор одного из этих переключателей также сопровождается изменением макета формы в диалоговом окне.
6. Для продолжения создания формы необходимо установить, например, переключатель Подчиненные формы и нажать кнопку Далее.
7. В следующем диалоговом окне нужно определить вид подчиненной формы (табличный или ленточный). Выбор также сопровождается демонстрацией макета формы.
8. В очередном диалоговом окне нужно выбрать фон окна создаваемой формы. Выбор любого фона сопровождается демонстрацией макета с выбранным фоном.
9. В последнем диалоговом окне нужно указать название главной и подчиненной форм. MS Access предлагает по умолчанию имена для этих форм. Можно принять предлагаемые имена или заменить новыми.
10. Нажать кнопку Готово для завершения создания и открытия новой формы (рис. 8.7).
рис. 8.7. Форма, созданная при помощи Мастера форм |
Созданная форма пригодна для просмотра, ввода и редактирования записей сразу двух таблиц. Кроме этого она удобна тем, что в одном месте собраны все Заказы одного Сотрудника.
Задания
1. Отобразите таблицу «Сотрудник» в режиме Конструктора. Сделайте текущим поле Гражданство. Заполните свойство поля Значение по умолчанию значением «гражданин России». Сохраните изменения в структуре таблицы. Переключитесь в режим Таблицы и обратите внимание на новую запись, в которую вводятся данные. Если вы все сделали правильно, то в этой строке в поле Гражданство будет присутствовать значение гражданин России.
2. Поскольку одинаковую должность могут занимать несколько сотрудников отдела продаж, для удобства заполнения таблицы «Сотрудник» необходимо выделить поле Должность в отдельную таблицу-справочник. Для этого:
2.1. Создайте таблицу-справочник «Должность», состоящую из 2-х полей: КодДолжности и НазваниеДолжности.
2.2. Откройте таблицу «Сотрудник» в режиме Конструктора и измените тип данных поля Должность с текстового на числовой.
2.3. Откройте окно Схемы данных, добавьте таблицу «Должность» и установите связь между таблицами «Должность» и «Сотрудник».
3. Создайте разделенную форму для заполнения таблицы «Должность».
4. Заполните полученную форму следующими данными:
Таблица «Должность»
НазваниеДолжности |
продавец |
грузчик |
администратор |
уборщица |
кассир |
охранник |
водитель |
директор |
секретарь |
бухгалтер |
главный бухгалтер |
5. Отсортируйте записи формы «Должность» по возрастанию значения в поле НазваниеДолжности.
6. Перед тем как создавать форму для заполнения таблицы «Сотрудник», измените в таблице «Сотрудник» поле Должность на поле со списком.
7. Создайте с помощью Мастера форму для таблицы «Сотрудник», выбрав все поля и Внешний вид формы - В один столбец.
8. Заполните полученную форму следующими данными, выбирая название должности из списка:
Таблица «Сотрудник»
Фамилия | Имя | Отчество | Должность | Оклад |
Алексеев | Алексей | Алексеевич | продавец | 12000,00 руб. |
Антонов | Антон | Антонович | грузчик | 8000,00 руб. |
Васильев | Василий | Васильевич | администратор | 10000,00 руб. |
Воробьев | Виктор | Александрович | грузчик | 8000,00 руб. |
Воронина | Мария | Константиновна | уборщица | 5000,00 руб. |
Вронская | Александра | Сергеевна | кассир | 6500,00 руб. |
Вышкин | Николай | Николаевич | охранник | 16000,00 руб. |
Вязьмин | Петр | Романович | водитель | 8000,00 руб. |
Григорьев | Григорий | Григорьевич | охранник | 14000,00 руб. |
Данилов | Дмитрий | Дмитриевич | продавец | 13500,00 руб. |
Добрынин | Алексей | Михайлович | водитель | 8500,00 руб. |
Ларина | Татьяна | Викторовна | продавец | 9000,00 руб. |
Леонов | Леонид | Тихонович | директор | 30000,00 руб. |
Логинов | Виктор | Васильевич | грузчик | 7500,00 руб. |
Петрова | Полина | Петровна | уборщица | 4000,00 руб. |
Попова | Анна | Борисовна | секретарь | 6300,00 руб. |
Пулевин | Антон | Сергеевич | бухгалтер | 15000,00 руб. |
Пулевин | Ярослав | Сергеевич | главный бухгалтер | 25000,00 руб. |
Романова | Нина | Ивановна | продавец | 12000,00 руб. |
Сергеев | Владимир | Федорович | продавец | 10500,00 руб. |
9. Выберите в форме «Сотрудник» с помощью фильтра все записи, у которых в поле Должность имеется значение продавец. Добавьте в поле Фотография либо файлы с фотографиями из папки Фото на сервере, либо любые произвольные файлы с фотографиями, либо файлы с рисунками. Для этого щелкните по полю Фотография правой кнопкой мыши, из контекстного меню выберите команду Вставить объект. После выбора команды Вставить объект необходимо указать расположение этого объекта.
10. Воспользуйтесь расширенным фильтром для отбора записей в форме «Сотрудник», в которых в поле Должность имеется значение продавец, а в поле Оклад - значение 12000,00 руб.
11. Посчитайте с помощью запроса сумму окладов по должностям. Сохраните запрос под именем «СуммаОкладовПоДолжностям».
12. Посчитайте с помощью запроса общий размер заработной платы всех сотрудников. Сохраните запрос под именем «РазмерЗаработнойПлаты».
13. Создайте с помощью Мастера сложную форму с использованием подчиненной формы, позволяющую просматривать, какие товары поставляет каждый поставщик. Информация о поставщике включает название поставщика и телефон. Информация о товаре включает артикул, тип и марку товара. Назовите форму «Поставщики (сложная)».
14. Создайте с помощью запроса новую таблицу «Премия», содержащую фамилии и инициалы всех продавцов, их премии в размере 20% от оклада и новые оклады с учетом премий. Запрос сохраните под именем «НачислениеПремии». (Замечание: Для того чтобы поле Премия в таблице «Премия» имело денежный формат, необходимо открыть после создания таблицу «Премия» в режиме Конструктора и изменить тип данных с числового на денежный.)
15. Создайте с помощью Мастера форму для заполнения таблицы «Покупатель».
16. Заполните полученную форму следующими данными:
Таблица «Покупатель»
НазваниеФирмы | Телефон |
АЛИНА | 145-6764 |
АВРОРА | 265-8997 |
БАРС | 712-8221 |
КАНТОР | 131-8103 |
ДЕЛЬТА | 174-5466 |
ЕВРОПА | 111-2233 |
ГЕФЕСТ | 140-7323 |
МАДРИД | 922-1334 |
ММН | 125-1617 |
НИКС | 555-6677 |
НазваниеФирмы | Телефон |
ПАЛАДИН | 221-3445 |
РИСТ | 767-8778 |
СОВИНТ | 677-7889 |
СУЛИКО | 140-2737 |
САНЛАЙТ | 162-4001 |
ТЕРРА | 809-0809 |
ТОМО | 332-3232 |
УНИТАР | 323-9520 |
Контрольные вопросы
1. Зачем нужны формы?
2. Какие возможности предоставляет СУБД MS Access при создании форм?
3. Какие вы знаете типы форм?
4. Что такое подчиненная форма?