Лабораторная работа по теме: Создание составных форм
Цель: Освоить методы создания составных форм.
1. Научиться создавать формы для ввода данных в несколько таблиц.
2. Освоить технологию создания вычисляемых полей.
Условие задания
1. Создать в базе данных УБ_СУБД.mdb составную форму Заказы, позволяющую вносить данные в таблицы Заказы и Заказано. Макет формы Заказы представлен на рис.12.1.
Рис.12.1 Макет формы Заказы
Указания по созданию составной формы
1) Определение источника записей для формы Заказы
На основании макета формы Заказы (рис.12.1) и Схемы данных базы данных УБ_СУБД.mdb определим источники данных для элементов управления в форме. Спецификация элементов управления к макету формы Заказы представлена в таблице 12.1.
Таблица 12.1 Спецификация элементов управления к макету формы Заказы
№ п/п |
Элемент управления |
Данные |
|
имя |
тип |
||
1 |
КодЗаказа |
поле |
Заказы!КодЗаказа |
2 |
ДатаРзмещения |
поле |
Заказы!ДатаРзмещения |
3 |
ДатаНазначения |
поле |
Заказы!ДатаНазначения |
4 |
ДатаИсполнения |
поле |
Заказы!ДатаИсполнения |
5 |
Доставка |
поле |
Заказы!Доставка |
6 |
КодСотрудника |
поле со списком |
Заказы!КодСотрудника |
7 |
КодКлиента |
поле со списком |
Заказы!Код Клиента |
8 |
КодСтраны |
поле со списком |
Клиенты!КодСтраны |
9 |
Область |
поле |
Клиенты!Область |
10 |
Город |
поле |
Клиенты!Город |
11 |
Индекс |
поле |
Клиенты!Индекс |
12 |
Адрес |
поле |
Клиенты!Адрес |
13 |
НазваниеПолучателя |
поле |
Заказы!НазваниеПолучателя |
14 |
КодСтраныПолучателя |
поле со списком |
Заказы!КодСтраны |
15 |
ОбластьПолучателя |
поле |
Заказы!ОбластьПолучателя |
16 |
ГородПолучателя |
поле |
Заказы!ГородПолучателя |
17 |
ИндексПолучателя |
поле |
Заказы!ИндексПолучателя |
18 |
АдресПолучателя |
поле |
Заказы!дресПолучателя |
19 |
Заказы Спецификация |
подчиненная форма/отчет |
Форма Заказы Спецификация |
20 |
Код Товара |
поле со списком |
Заказано!Код Товара |
21 |
Цена |
поле |
Заказано!Цена |
22 |
Количество |
поле |
Заказано!Количество |
23 |
Скидка |
поле |
Заказано!Скидка |
24 |
Стоимость |
поле |
вычисляемое |
25 |
Итого |
поле |
вычисляемое |
26 |
Итого Стоимость |
поле |
вычисляемое |
27 |
Стоимость Доставки |
поле |
Заказы!Стоимость Доставки |
28 |
Стоимость Заказа |
поле |
вычисляемое |
На основании данных таблицы 12.1 можно сделать вывод, что в качестве источников записей для различных областей формы выступают таблицы Заказы, Клиенты и Заказано.
Т. к. в макете формы имеются элементы управления с вычисляемыми значениями, то возможно в качестве источников записей будут использоваться запросы к таблицам Заказы, Клиенты и Заказано.
2) Создание источников записей
В связи с тем, что разрабатывается составная форма для ввода данных в таблицы Заказы и Заказано, то создадим два запроса: один – для главной формы, второй – для подчиненной формы.
В первый запрос с именем ЗапросЗаказы включить все поля из таблицы Заказы и только те поля из таблицы Клиенты, которые представлены в спецификации.
Во второй запрос с именем ЗапросЗаказыСпецификация включить все поля из таблицы Заказано и создать вычисляемое поле Стоимость: Цена * Количество * (1 - Скидка).
3) Создание подчиненной формы средствами быстрой разработки
На основании полей запроса ЗапросЗаказыСпецификация создать форму ЗаказыСпецификация. с использованием средства Автоформа: табличная.
Внедрить в область Примечание формы ЗаказыСпецификация элемент управления Поле (п.25, рис.12.1).
Изменить свойства внедренного элемента управления: Другие/Имя: Итого, Данные/Данные: = SUM(Стоимость).
Поле Итого не выводится в форме ЗаказыСпецификация, т. к. разделы Заголовок и Примечание формы не отображаются в форме при ее открытии в режиме таблицы.
4) Создание главной формы средствами быстрой разработки
На основании полей запроса ЗапросЗаказы создать форму Заказы с использованием средства Автоформа: в столбец.
Изменить свойства формы: Макет/Подпись: Бланк заказа, Макет/Полосы прокрутки: Отсутствуют, Макет/Разделительные линии: Нет, Макет/Область выделения: Нет.
Внедрить в форму Заказы элемент управления Подчиненная форма/отчет (п.19, рис.12.1).
Изменить свойства внедренного элемента управления: Другие/Имя: ЗаказыСпецификация, Данные/Объект-источник: ЗаказыСпецификация, Данные/Подчиненные поля: КодЗаказа, Данные/Основные поля: КодЗаказа.
Внедрить в форму Заказы элемент управления Поле (п.26, рис.12.1).
Изменить свойства внедренного элемента управления: Другие/Имя: ИтогоСтоимость, Данные/Данные: = ЗаказыСпецификация! Итого.
Внедрить в форму Заказы элемент управления Поле (п.28, рис.12.1).
Изменить свойства внедренного элемента управления: Другие/Имя: СтоимостьЗаказа, Данные/Данные: = ИтогоСтоимость + СтоимостьЗаказа.
ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ К ЛАБОРАТОРНОЙ
Цель: Закрепить навыки по форматированию форм.
Условие задания:
1. Отформатировать форму Заказы в соответствии с рис.12.2.
Рис.12.2 Вид составной формы Заказы