Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Формы для связанных таблиц






Если нужно просматривать данные из нескольких связанных между собой таблиц и иметь возможность редактировать данные более чем в одной таблице, то потребуется форма более сложная.

Решить эту задачу можно с помощью подчинённой формы. Сначала создаётся основная форма, а затем в неё внедряется подчинённая форма. В форму можно внедрять другие формы до трёх уровней вложенности. Таким образом, получается многотабличная иерархическая форма.

Конструирование такой формы следует начинать с создания формы последнего уровня вложения и продолжать работу, постепенно приближаясь к основной. Таким образом, подчинённые формы готовятся заранее, а затем вставляются в основную форму. В результате создания иерархической формы на экране выводятся только те записи подчиненной таблицы, которые связаны определённым образом с текущей за­писью основной (главной) таблицы.

Примеры из БД «Магазин»:

1) При просмотре данных о продавцах, необходимо иметь сведения о работе конкретного продавца (сколько, когда и что продал).

2) При просмотре данных о продажах, нужно иметь перед глазами сведения о продавце, продавшем конкретный товар, и все данные об этом товаре;

Подчинённые формы создаются с помощью Мастера подчинённых форм (отчётов[4]), который запускается нажатием кнопки «Подчинённая форма/отчёт» на панели элементов, затем курсором следует указать прямоугольную область, в которой будет располагаться подчинённая форма. Скорректировать размеры области можно будет потом, после создания подчинённой формы. Мастер подчинённых форм выдаёт на каждом шаге проектирования формы диалоговые окна, в которых нужно задавать необходимые параметры настройки.

Пример 1. При просмотре данных о продавцах, необходимо иметь сведения о работе конкретного продавца (сколько, когда и что продал).

Для этого примера следует создать составную форму, в которой используются две связанные таблицы Продавец и Продажи отношением 1: М. В основной форме выводить запись из главной таблицы Продавец, а в подчинённой форме – связанные с ней записи таблицы Продажи.

Выполнение:

a) создать форму для основной таблицы (таблица Продавец) обычным образом (в окне базы данных – Формы † Создать † Конструктор - имя таблицы – ОК);

b) проверить, нажата ли кнопка Мастера на панели элементов;

c) нажать на панели элементов кнопку Подчинённая форма/отчёт –

d) курсором указать прямоугольную область, в которой будет располагаться подчинённая форма; далее запускается Мастер;

e) на 1-ом шаге Мастера указать источник данных для подчинённой формы (таблица, запрос или форма). В нашем примере следует указать таблицу.

f) На 2-ом шаге указать конкретно имя таблицы - Продажи и определить поля для подчинённой формы – код товара, количество и дата продажи.

g) На 3-ем шаге требуется определить межтабличные связи, если они ещё не заданы. В нашем примере связи уже установлены, поэтому пропускаем этот шаг – кнопка Далее.

h) Шаг 4-й – задать имя для подчинённой формы;

 

 

Рис.20. Результат работы примера 1.

 

G Пояснение к рис.20. Для каждой записи из таблицы Продавец, выведенной на экран, в подчиненной форме отображаются все связанные с ней записи из таблицы Продажи (тип связи 1: М). Размеры столбцов подчинённой формы можно изменять при её просмотре, а размер самой подчинённой формы в целом – в режиме Конструктора.

Пример 2. При просмотре данных о продажах, нужно иметь в форме сведения о продавце, продавшем конкретный товар, и все данные об этом товаре;

Для этого примера следует создать многотабличную иерархическую форму, основой которой является форма для таблицы Продажи. В основной форме используются две подчинённые формы для таблиц Продавец и Товар.

G Напоминания.

1. Таблицы Продавец и Товар связаны отношением М: М и разделяются на две связи 1: М – Продавец: Продажи и Товар: Продажи.

2. Подчинённые формы Продавец и Товар предварительно создать любым из известных способов;

Выполнение примера 2:

a) создать форму для основной таблицы Продажи с помощью Конструктора форм;

b) проверить, нажата ли кнопка Мастера на панели элементов;

c) нажать на панели элементов кнопку Подчинённая форма/отчёт –

d) курсором указать прямоугольную область, в которой будет располагаться подчинённая форма; далее запускается Мастер;

e) на 1-ом шаге Мастера указать источник данных для подчинённой формы - Формы. В списке форм указать нужную – подчинённая форма Продавец.

f) На 2-ем шаге требуется определить межтабличные связи, если они ещё не заданы. В нашем примере связи уже установлены, поэтому пропускаем этот шаг – Далее.

g) Шаг 3-й – задать имя для подчинённой формы, вставляемой в основную форму, Готово;

h) Пункты с) – g) повторить для внедрения подчинённой формы Товар в основную форму Продажи.

i) Примерный вариант формы Продажи приведён на рис.21.

 

 

Рис.21. Форма Продажи

с внедрёнными в неё

подчинёнными формами

Товар и Продавец

(в режиме Конструктора

и в рабочем состоянии).

 

 

G Примечания.

1. Для каждой записи из таблицы Продажи, выведенной на экран, в подчиненной форме Товар отображается связанная с ней по ключевому полю Код товара запись из таблицы Това р, аналогично, в подчиненной форме Продавец отображается связанная с таблицей Продажи по ключевому полю Код продавца запись из таблицы Продавец.

2. Форма Продажи содержит элемент управления Командная кнопка, которая управляет событием открытия формы ИТОГИ. Форма ИТОГИ создана на основе запроса «Итоги по товарам» и выводит общие сведения о продажах каждого товара (о создании командных кнопок см. в следующем параграфе).

3. Ключевые поля (Код товара и Код продавца) приведены для проверки связи между таблицами, после отладки связи их можно убрать из формы.

4. Внедрить подчинённую форму в основную можно ещё таким способом:

- разместить на экране окно основной формы в режиме Конструктора и окно базы данных рядом друг с другом,

- найти в окне базы данных в списке форм подчинённую форму,

- перетащить её в основную форму.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.