Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетБД часть2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.11 Mб
Скачать
    1. Редактирование формы

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

Чтобы переместить элемент вместе с присоединённой к нему надписью, нужно установить курсор на любой стороне элемента между маркерами. Когда указатель примет вид раскрытой ладони -, можно перетаскивать элемент на новое место.

Перемещать элемент управления и надпись независимо друг от друга можно с помощью маркера перемещения, расположенного в левом верхнем углу элемента. При установке указателя на этом маркере он принимает вид сжатой ладони с вытянутым указательным пальцем - , и затем можно перетащить элемент в новое место по отношению к его надписи.

Примечание. Перемещение объекта на небольшое расстояние для более точного его размещения можно выполнить нажатой клавишей CTRL совместно с нажатыми клавишами-стрелками.

Для придания элементу управления привлекательного внешнего вида не обязательно изменять его свойства; можно воспользоваться кнопками панели форматирования – выравнивания, шрифта, размеров букв, цветом фона, цветом текста, рамки, специальными эффектами оформления элемента.

Форматировать можно одновременно несколько элементов – достаточно их выделить вместе. Несколько способов выделения группы элементов:

  • с нажатой клавишей Shift пройтись щелчком по нужным элементам;

  • при щелчке в некоторой точке на горизонтальной линейке выделяются все элементы управления, которые пересекает вертикальная линия, опущенная из этой точки;

  • при щелчке в некоторой точке на вертикальной линейке выделяются все элементы управления, которые пересекает горизонтальная линия, проведенная из этой точки.

Примечания.

  1. Создание формы с полями из разных таблиц рекомендуется выполнять в два этапа: вначале создать запрос, объединяющий необходимые поля, затем для этого запроса конструировать форму.

  2. Для защиты формы от несанкционированного редактирования нужно установить для свойства Данные Разрешить изменение значение НЕТ.

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

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

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

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

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

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

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

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

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

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

Выполнение:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечания.

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

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

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

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

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

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

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