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

Рассмотрим технологию разработки составной формы для одновременной загрузки и работы с данными двух таблиц на примере таблиц ГРУППА и СТУДЕНТ.

Подготовка к созданию составной формы

Документом – источником формы является «Список студентов группы». Поскольку объект загрузки ГРУППА – СТУДЕНТ не подчиняется в схеме данных (рис. 1.7) другим таблицам, в подсхему для построения формы не надо включать другие таблицы. Для того, чтобы обеспечить удобный ввод данных с документа, в форме предусмотрим основную часть с реквизитами группы и подчиненную с записями о студентах группы.

Составная форма СПИСОК ГРУППЫ будет многотабличной, включающей подчиненную многозаписевую форму СПИСОК СТУДЕНТОВ. Причем источником записей для основной части формы будет таблица ГРУППА, для подчиненной – таблица СТУДЕНТ. Размещение реквизитов в основной части формы и подчиненной форме должно соответствовать документу-источнику «Список студентов группы».

Создание формы с помощью Мастера

В окне базы данных открываем вкладку Форма и нажимаем кнопку Создать. В окне Новая форма выбираем таблицу ГРУППА и Мастер форм. В открывшемся окне Создание форм выберем для таблицы ГРУППА поля, включаемые в форму. Выберем также вторую таблицу СТУДЕНТ и ее поля. Эта таблица будет источником записей подчиненной формы, связанных с записью отображаемой в основной части формы. В следующем окне Создание форм уже будет выделена таблица ГРУППА для создания основной части формы (рис. 2.1).

Рис. 2.1. Окно для выбора типа формы

Поскольку эта таблица является главной в схеме данных относительно другой таблицы СТУДЕНТ, предоставляется возможность выбора типа формы: или с включением подчиненной формы, или создание связанных форм. Выберем первый вариант – Подчиненные формы. Выберем далее вид подчиненной формы – Ленточный для получения многозаписевой формы и вывода в ней подписей полей (из структуры таблиц) вместо их имени. Введем имя составной формы и подчиненной формы.

Открытие формы для просмотра и ввода данных

После завершения работы Мастера форма может быть открыта для работы с данными двух таблиц базы данных (рис. 2.2).

В подчиненной форме выводятся все записи, связанные с текущей записей основной части формы.

Редактирование формы в режиме Конструктора

С озданная Мастером многотабличная форма СПИСОК ГРУППЫ может быть отредактирована. Для этого в окне базы данных на вкладке Формы щелкнем кнопку Конструктор. Если форма была открыта ранее, то для перехода в режим Конструктора достаточно нажать кнопку Предоставление формы на панели Конструктора форм.

Рис. 2.2. Многотабличная форма для работы с двумя взаимосвязанными таблицами

Отредактируем форму СПИСОК ГРУППЫ в соответствии с видом документа-источника. При этом перемещаются поля, уточняются их подписи, шрифт и размеры, заголовок формы, создаются кнопки перехода к следующей (предыдущей) записи таблицы ГРУППА.

В подчиненной форме СПИСОК СТУДЕНТОВ целесообразно удалить поле НГ, отображающее номер группы, так как это поле является полем связи и его достаточно сохранить в основной части формы. Это обеспечит однократный ввод его значения.

Вид основной и подчиненной частей формы в окне Конструктора приведен на рис. 2.3, 2.4.

Рис. 2.3. Форма СПИСОК ГРУППЫ в режиме Конструктора

Рис. 2.4. Подчиненная форма СПИСОК СТУДЕНТОВ в режиме Конструктора

Загрузка взаимосвязанных таблиц

После завершения создания многотабличной формы можно перейти в режим формы, нажав кнопку Представление формы. Полученная многотабличная форма (рис. 2.5) обеспечивает одновременную загрузку и работу с данными двух таблиц ГРУППА и СТУДЕНТ.

В процессе загрузки сначала вводятся значения реквизитов группы – номер группы, количество студентов и средний бал группы. Заметим, что ввод ключевого поля (номера группы) всегда обязателен для создания записи в таблице ГРУППА. Причем эта запись создается независимо от того, будет ли введен список студентов группы. Далее вводятся реквизиты студентов. Ввод номера студента в группе всегда обязателен для образования записи в таблице СТУДЕНТ. Этот номер вместе с введенным в основную часть формы номером группы образует уникальный ключ в этой таблице. Запись о студенте сохраняется при переходе к очередной строке в подчиненной форме.

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