Тема 5. Разработка сложных форм
Сложные формы – это такие формы, внутри которых находятся другие формы. Первичная форма называется главной формой, а форма внутри формы называется подчиненной.
Подчиненная форма удобна для вывода данных из таблиц или запросов, связанных отношением «один-ко-многим». Главная форма и подчиненная форма в этом типе форм связаны таким образом, что в подчиненной форме выводятся только те записи, которые связаны с текущей записью в главной форме.
При использовании сложных форм для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует, что записи из таблицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один».
Создание сложной формы.
Задание 1. Создайте макет сложной формы.
Создайте макет формы с подчиненной формой для просмотра заказов, сделанных покупателем. В главной форме должны отображаться сведения о покупателе, а в подчиненной форме – сведения о товарах, заказанных этим покупателем (рис. 5.1).
Рис. 5.1. Пример сложной формы
Пояснения.
В качестве источников для создания формы будем использовать таблицы Покупатель, Заказ на товар и Сведения о заказе. Форму будем создавать с помощью Мастера форм.
Последовательность действий должна быть следующей:
1. На вкладке Создание в группе Формы нажмите кнопку Мастер форм.
2. В качестве источника данных выберите:
· все поля из таблицы Сведения о заказе;
· поле Наименование покупателя из таблицы Покупатель;
· все поля из таблицы Заказ на товар;
· поле Цена из таблицы Товар на базе
3. На втором шаге Мастера форм выберите такой вид представления данных, чтобы содержание конкретного заказа приняло вид подчиненной формы (рис. 5.2).
4. На третьем шаге выберите табличный вид подчиненной формы.
5. Ошибка! Ошибка связи.присвойте имена:
· главной форме – Покупатель – его заказы;
· подчиненной форме – Подчиненная форма Заказы на товары.
Рис. 5.2. Выбор вида представления данных
Перейдите в режим конструктора этой формы. Обратите внимание на разделы формы: Заголовок формы, Область данных, Примечание формы.
Увеличьте область Заголовок формы для размещения в ней логотипа.
Вставка логотипа:
· создайте логотип фирмы любым доступным Вам способом;
· перенесите с панели элементов Свободную рамку и поместите ее в правом верхнем углу формы;
· вставьте в рамку созданный вами логотип фирмы;
· чтобы ваш логотип вписался в рамку, выделите рамку с помощью правой кнопки мыши и вызовите контекстное меню;
· выберите команду Свойства а затем – параметр Установка размера;
· в раскрывающемся списке задайте свойство По размеру рамки.
Создание вычисляемых полей
Вычисляемое поле – этополе для вывода результата вычисления выражения, а не хранимых данных. Значение пересчитывается при каждом изменении выражения.
Задание 2. Создайте вычисляемое поле Сумма в Подчиненной форме Заказы на товары
Пояснения.
1. Откройте Подчиненную форму Заказы на товары в режиме Конструктор.
2. С помощью панели элементов (вкладка Конструктор) создайте поле как показано на рис. 5.3.
Рис. 5.3. Создание вычисляемого поля в форме
3. В Надпись введите текст Сумма.
4. Выделите Поле (в нем нужно поместить функцию, которая возвращала бы произведение [Цена]*[Количество] из соответствующих полей формы), нажмите правую кнопку мыши, в появившемся контекстном меню выберите команду Свойства.
5. В появившемся окне Свойств перейдите на вкладку Все.
6. В строке Имя присвойте создаваемому полю имя Сумма.
7. В строке Данные, в правом конце, выберите Построитель, который обозначается тремя точками .
8. В открывшемся окне Построитель выражений создайте выражение для расчета суммы заказанного товара (рис. 5.4).
Рис. 5.4. Использование Построителя выражений
Результат выполнения пунктов 3-8 представлен на рис. 5.5.
Рис. 5.5. Вид формы с вычисляемым полем Сумма
9. Для расчета общей суммы текущего заказа в разделе Примечание формы создайте вычисляемое поле, используя при этом выражение
=Sum([Цена]*[Количество])
10. Присвойте созданному полю имя Всего. Результат представлен на рис. 5.6.
Рис. 5.6. Вид формы с вычисляемым полем Всего
Задание 3. Создание вычисляемого поля Всего на сумму в главной форме Покупатель-его заказы.
Пояснения.
Для вывода в главной форме Покупатель-его заказы значения общей суммы заказа из подчиненной формы создайте вычисляемый элемент управления Всего на сумму и (аналогично действиям 2-8 предыдущего задания) разместите в нем выражение, показанное в примечании главной формы на рис. 5.7
Рис. 5.7. Вычисление итоговой суммы в главной форме