Конструирование подчиненных форм в среде Microsoft Access
Необходимо создать форму для закупки книг в магазине. Форма должна содержать информацию о заказе, такую как номер заказа, дата заказа, фамилия заказчика, и информацию о выбранных книгах. Выбор книги должен осуществляться по выпадающему списку книг.
1. Создайте базу данных БД_КНИГИ.
2. Создайте три таблицы:
Книги (Шифр_книги, Название, Автор, Цена)
Заказ (Номер_заказа, Дата_заказа, Фамилия_заказчика)
Книги_в_заказе (Номер_заказа, Шифр_книги, Количество)
Ключи в таблицах выделены жирным. Типы полей текстовые (размеры подберите по собственному усмотрению, но не по 50 символов), кроме полей Цена – денежный тип, Количество – числовой, а Дата_заказа – тип дата/время.
3. Создайте схему данных, приведенную на рис.1. Работа с базами данных/Схема данных.Из появившегося окна Добавление таблицы выбрать ранее созданные три таблицы. Установить между ними связи. В окне Изменение связей выбрать: Обеспечение целостности данных.
Рис.1. Схема данных базы данных БД_КНИГИ.
Заполните только таблицу Книги, введите информацию о десятке книг.
4. Создайте форму для таблицы Заказ в режиме Мастер форм в один столбец. Сохраните форму Заказ.
Откройте форму Заказ в режиме конструктора. Увеличьте размер формы, как показано на рис.2.
Рис.2. Форма Заказ в режиме конструктора
С помощью инструмента подчиненная форма (Конструктор/Подчиненная форма ) добавьте подчиненную форму на свободное место формы Заказ.
Запустится мастер подчиненных форм. В ходе работы мастера добавьте в подчиненную форму из таблицы Книги поля Автор и Цена, а из таблицы Книги_в_заказе поля Шифр_книги и Количество (рис.3). Сохраните форму Заказ.
Рис.3. Форма Заказ с подчиненной формой Книги
Откройте подчиненную форму Книги в режиме конструктора. Измените ее следующим образом:
а) Удалите поле Шифр_книги и на это место поставьте поле со списком с помощью соответствующего инструмента (Конструктор/Поле со списком (элемент управления формы)). Запустится мастер создания полей со списком.
б) В ходе работы мастера для поля со списком выберите из таблицы Книги поле Название, далее работайте по мастеру, в пункте Сохранить в поле, выберите поле Шифр_книги. Задайте подпись для поля со списком: Выбери книги.
в) Вид подчиненной формы в режиме конструктора на рис.4. Сохраните форму.
Рис.4. Подчиненная форма Книги с полем со списком.
5. Откройте форму Заказ. Заполните заказ номер 1 и выберите несколько книг из списка, укажите количество книг.
6. Измените подчиненную форму Книги в режиме конструктора.
6.1. Добавьте вычисляемое поле Количество * Цена, используя построитель выражений. Для этого в свободное место области данных добавьте новое поле (Конструктор/Поле). Щелкните правой кнопкой мыши в новом поле и выберите опцию Свойства, на вкладке Данные в Окне свойств щелкните элемент «…»
Рис.5. Окно свойств
Запустится Построитель выражений. Постройте выражение =Количество*Цена (Поля Количество и Цена выберите из второго столбца в Построителе выражений). Задайте имя поля – Итого.
6.2. В части Примечание формы подчиненной формы добавьте поле для подсчета итоговой суммы заказа. Затем щелкните правой кнопкой мыши в новом поле и выберите опцию Свойства, на вкладке Данные щелкните элемент «…» и запустится Построитель выражений. Постройте выражение =sum(Количество * Цена), где поля Количество и Цена выберите из загруженных форм. Запомните название (номер) этого поля, например Поле20.
Измените свойства добавленных полей: на вкладке Макет выберите формат поля Денежный. Сохраните форму.
7. Откройте форму Заказ в режиме конструктора и добавьте поле для подсчета итоговой суммы: в свойствах этого поля с помощью построителя выражений (см. пункт 6.2.) укажите Поле20. Задайте имя поля – Всего к оплате. Также как в пункте 6.2. измените формат поля на формат Денежный. Сохраните форму.
8. Откройте форму Заказ и проведите закупки.
9. Откройте форму Заказ в режиме конструктора и добавьте кнопку для выполнения нового заказа. В процессе работы мастера создания кнопок укажите опции Обработка записей/Добавить запись и задайте на кнопке текст НОВЫЙ ЗАКАЗ.