Создание форм с помощью мастера
Ввод данных в таблицы БД
Ввод данных в реляционную базу данных целесообразно осуществлять последовательно, начиная с данных которые известны заранее. Так руководитель фирмы, прежде чем принимать заказы, должен определиться с перечнем услуг, которые будет оказывать фирма и с исполнителями этих услуг. Эти данные рассматривались на практическом занятии 1. Ввод данных можно осуществить напрямую, открыв таблицу. При этом данные в таблице отображаются в форме, сходной с представлением данных в электронных таблицах (рис.14). В каждой строке размещается информация об одном объекте.
Рисунок 14. Таблица Услуги Рисунок 15. Таблица Исполнители
Задание 7. Введите в таблицу Услуги данные, представленные на рис. 14, выполнив следующие операции:
1. Откройте таблицу Услуги в режиме просмотра, щелкнув по ее имени на левой боковой панели.
2. Введите данные в поля Наименование и Стоимость. Данные в поле КодУслуги записываются автоматически при создании новой записи.
3. Закройте таблицу, сохранив изменения.
Задание 8. Введите в таблицу Исполнители данные, представленные на рис. 15, выполнив следующие операции:
1. Откройте таблицу Исполнители в режиме просмотра.
2. Введите данные (инициалы и фамилию) в поле ФИО.С учетом маски ввода эти данные можно вводить только строчными буквами и без знаков препинания. Например: кккукушкин – будет отображено как К.К.Кукушкин. Таким образом, маска ввода позволяет не только записать однотипные данные в одном формате, но и упростить ввод. Поле НомерИсполнителя будет заполняться счетчиком автоматически.
3. Закройте таблицу, сохранив изменения.
Фирма готова к работе: определен перечень оказываемых услуг и их исполнители – сотрудники фирмы!
Такой способ ввода данных оказывается неудобным для ввода данных в подчиненные таблицы (например, в таблицу Заказы), так как для ввода данных в нее нужно знать значения ключевых полей соответствующих записей из главных таблиц. Например: заказ относится к конкретному клиенту, следовательно, чтобы связать его с клиентом необходимо знать номер клиента, заказ делается на конкретную услугу, следовательно, нужно знать ее код, заказ поручается конкретному исполнителю, следовательно, нужно знать его номер. Реальные таблицы базы данных обычно достаточно большие и содержат десятки столбцов и сотни строк. Естественно, что такая таблица целиком не помещается на экране. Кроме того, в таких таблицах, как правило, заполняются или редактируются не все столбцы. Выполнять такие операции в большой таблице неудобно. Для удобства работы с данными в БД создаются формы.
Создание форм
Форма в СУБД - это диалогового окна для просмотра и редактирования данных, содержащихся в отдельной записи БД. Для создания форм используется группа Формы на вкладке Создание инструментальной ленты (рис. 16): Форма, Разделенная форма, Несколько элементов, Другие формы, Сводная диаграмма, Пустая форма, Конструктор форм.
Рисунок 16. Средства для создания форм
Наиболее простой способ создания формы – использование команды Форма. Диалоговое окно формы создается автоматически в зависимости от выделенной таблицы.
В форму по желанию пользователя могут быть включены элементы управления для ввода данных в таблицу и кнопки, позволяющие перемещаться между записями таблицы. Созданная форма отображается на экране, при ее закрытии Access запрашивает подтверждение ее сохранения и имя (обычно имя совпадает с именем соответствующей таблицы).
Задание 9. Создайте форму для заполнения таблицы Клиенты, выполнив следующие операции:
1. В окне базы данных на левой боковой панели выберите таблицу Клиенты.
2. Нажмите кнопку Форма в группе Формы на вкладке Создание. Появится окно с формой Клиенты, в нижней части которого указана связанная с таблицей Клиенты таблица Заказы.
3. Закрыть появившуюся форму с помощью кнопки r.
4. Подтвердить сохранение формы щелчком по кнопке Да.
5. Ввести имя формы в окне Сохранение и щелкнуть кнопку ОК.
Задание 10. Самостоятельно создайте форму для заполнения таблицы Услуги.
Создание форм с помощью мастера
Мастер форм строит форму в диалоге с пользователем. Он позволяет выбрать поля таблицы, которые должны отображаться в форме (рис. 17), выбор полей осуществляется с помощью кнопок > и >> (кнопка > позволяет отбирать поля записи для вывода в форме по одному, а кнопка >> отбирает все поля сразу). Кнопки < и << позволяют отказаться от выбора полей. Щелчок по кнопке Далее после выбора полей позволяет перейти к следующему этапу создания формы. В следующих диалоговых окнах можно выбрать внешний вид формы (например, в один столбец) и требуемый стиль (например, обычный). Кнопка Назад позволяет вернуться в предыдущему шагу. В последнем диалоговом окне Мастера создания форм можно ввести имя созданной формы и щелкнуть кнопку Готово. Если в этом окне установлен переключатель Открытие формы для просмотра или ввода данных, то сразу после щелчка по кнопке Готово форма открывается в рабочем режиме.
Рисунок 17. Окно мастера создания форм
Задание 11. Самостоятельно создайте форму для таблицы Исполнители (включите в нее все поля) с помощью Мастера создания форм.
Создание форм вручную
Если требуется создать форму, которую невозможно получить с помощью мастера, можно в режиме конструктора создать пустую форму и разместить на ней элементы управления по своему усмотрению. Это способ является наилучшим в том случае, когда отсутствуют готовые варианты, удовлетворяющие вашим потребностям или когда необходимо разместить группу переключателей, подчиненные формы, колонтитулы с текстовыми полями и управляющие кнопки.
Для создания формы вручную необходимо:
1. Открыть окно конструктора командой Создание, Конструктор форм. Откроется пустая форма Form1. Для заполнения этой формы используется группа Элементы управления вкладки Конструктор(рис.18): Поле, Подпись, Кнопка, Поле со списком и т.д.
2. Закройте окно конструктора, присвоив форме соответствующее имя.
Рисунок 18. Новая пустая форма в режиме конструктора
Вопросы для самоконтроля:
1. Что такое форма? Зачем она нужна?
2. Какие способы создания форм существуют в СУБД?
3. Когда целесообразно использовать Автоформу?
4. Как работает Мастер форм?
Задание 7. Самостоятельно сформулируйте и запишите вывода по лабораторной работе 2.