Урок 5. Формы для загрузки двух таблиц

  • docx
  • 28.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-003203.docx

Урок 5. Формы для загрузки двух таблиц

 

В настоящем разделе на примере подробно рассматривается последователь- ность конкретных действий при разработке составной формы для загрузки двух таблиц, связанных одно-многозначными отношениями. Технология раз- работки любой многотабличной формы включает проектирование макета формы (см. выше раздел «Технология загрузки базы данных с использованием форм») и процесс конструирования средствами Access.

В соответствии с разделом «Этапы загрузки базы данных и проектирования форм» при проектировании составной формы выполним:

r  Определение подсхемы данных для разрабатываемой формы

r  Определение общей структуры экранной формы, т. е. ее макета в соответ- ствии со структурой входного документа и подсхемой данных

r  Определение состава и размещения реквизитов для каждой из частей со- ставной формы

На основе результатов проектирования осуществим конструирование экран- ной формы средствами Access.

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

Проектирование форм на основе двух таблиц

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

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

Поскольку объект загрузки: ГРУППА → СТУДЕНТ не подчиняется в схеме данных другим таблицам, подсхема, необходимая для построения формы, не должна включать других таблиц. Такая подсхема приведена на рис.5.1.

Определение общей структуры составной формы

В соответствии с приведенной подсхемой определим общую структуру со- ставной формы, которую назовем СПИСОК ГРУППЫ.


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

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

Таким образом, составную форму СПИСОК ГРУППЫ определяют:

r  Тип формы многотабличная

r  Источник записей для основной части формы – таблица ГРУППА

r  Включаемая подчиненная форма – СПИСОК СТУДЕНТОВ Подчиненную форму СПИСОК СТУДЕНТОВ определяют:

r  Тип формы – подчиненная, многозаписевая

r  Источник записей – таблица СТУДЕНТ

На подсхеме (рис.5.1) показано назначение таблиц при создании формы.

Размещение реквизитов основной и подчиненной формы

Размещение реквизитов в основной части формы и подчиненной форме долж- но соответствовать входному документу «Список студентов группы» (см. гла- ву 2).

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

r  Номер группы (НГ - ключ)

r  Количество студентов (КОЛ)

r  Средний проходной бал в группе (ПБАЛЛ)

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


r  Номер студента в группе (НС)

r  Фамилия И. О. (ФИО)

r  Год рождения (ГОДР)

r  Адрес (АДРЕС)

r  Средний балл при поступлении (ПБАЛЛ)

Заметим, что ключевое поле НГ не включено в подчиненную форму, т. к. поле связи НГ включено в основную часть формы.

Создание формы для двух таблиц с помощью мастера

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

«Учебный процесс».

Определение таблиц и полей для основной и включаемой частей формы

В окне: базы данных выбираем в группе Объекты строку Формы и нажима- ем кнопку Создать.


Рис. 5.2. Выбор полей для формы в окне мастера форм

 

В диалоговом окне Новая форма (New Form) выбираем режим создания Мастер форм (Form Wizard) и таблицу ГРУППА, которая будет служить ис- точником данных для основной части, создаваемой многотабличной формы.

В открывшемся окне Создание форм в списке Таблицы/Запросы будет уже отражена ранее выбранная таблица ГРУППА. Выберем для нее в списке Дос-


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

Выбор типа формы

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

Рис. 5.3. Выбор варианта явного включения подчиненной формы

В следующем сеансе диалогового окна мастера выбираем внешний вид под- чиненной формы ленточный для получения многозаписевой подчиненной формы и вывода в ней подписей полей (определенных в свойствах таблиц). В очередном сеансе диалогового окна выберем стиль оформления Стандарт- ный с утопленными полями.

 

Присвоение имени форме и ее открытие

В последнем сеансе окна Создание форм (рис. 5.4) введем имена (заголовки) составной формы – СПИСОК ГРУППЫ и подчиненной формы – СПИСОК СТУДЕНТОВ. Выберем также дальнейшие действия мастера – Открытие формы для просмотра и ввода данных.


Рис. 5.4. Окно ввода имен форм и выбора дальнейших действий мас- тера

В соответствии с выбранными действиями после завершения работы мастера выводиться форма с данными из таблиц базы данных.


Рис. 5.5. Многотабличная форма, созданная мастером на основе таб- лиц ГРУППА и СТУДЕНТ

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


Замечание. При работе с формой в случае необходимости можно отобразить данные подчиненной формы в виде таблицы с именами полей таблицы БД. Для этого в режиме формы выполняется команда Вид|Таблица подчиненной формы (View|Subform Datasheet), работающая как переключатель. Курсор предварительно устанавливается на подчиненной форме.

 

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


Изменение надписей и размещения полей. В окне: базы данных (рис. 5.6) в области Объекты выделим строку Формы. Выберем для редактирования соз- данную ранее многотабличную форму СПИСОК ГРУППЫ и нажмем кнопку Конструктор. Если форма была открыта ранее в режиме просмотра, то для перехода в режим конструктора достаточно нажать кнопку Вид на панели конструктора форм .

Рис. 5.6. Выбор формы в окне базы данных

В окне конструктора форм (рис. 5.7) указано имя формы, СПИСОК ГРУППЫ, представлены поля с надписями основной части формы, размещенные в об- ласти данных, а также поля и надписи подчиненной формы СПИСОК СТУ- ДЕНТОВ в рамке, созданной для нее мастером (в версиях Access 95/97 ото- бразиться пустая рамка подчиненной формы, в которой приводится ее имя).


Рис. 5.7. Форма для двух таблиц ГРУППА и СТУДЕНТ в режиме конст- руктора

Произведем доработку формы СПИСОК ГРУППЫ, используя технику редак- тирования. Введем в область заголовка полное название формы СПИСОК СТУДЕНТОВ ГРУППЫ №, которое будет выводиться при распечатке формы и будет соответствовать макету документа. Формирование текста в области заголовка подробно было рассмотрено выше при конструировании однотаб- личной формы.

Рис. 5.8. Размещение элементов основной части формы после редак- тирования


Отмечая курсором мыши и перетаскивая отмеченные элементы, разместим поля так, как это показано на рис. 5.8. Уточним подписи полей, шрифт и раз- меры полей и подписей, заголовок формы. Можно изменить размер любого элемента, перемещая границы его рамки. Ширину и высоту подписи в соот- ветствии с размером и шрифтом текста можно задать, используя кнопку. По размеру данных на панели конструктора форм. Выравнивание предваритель- но выделенных элементов, например, по горизонтали выполняется командой меню Формат|Выравнять|по нижнему краю .

Создание кнопок для перехода к другой записи

Для того чтобы в форме можно было переходить к следующей и предыдущей записей записи таблицы ГРУППА, создадим соответствующие кнопки управ- ления в основной части формы.

Нажмем на Панели элементов Access кнопку Мастер элементов, а затем ис- пользуем инструмент Кнопка. После нажатия, переноса кнопки курсором мыши в нужное место и вычерчивания ее рамки запустится мастер кнопок Создание кнопок (рис.5.9).


Рис.5.9. Окно мастера кнопок

В окне мастера кнопок выберем действие, которое необходимо выполнять при нажатии кнопки. В группе Категории выберем строку Переходы по записям, в группе Действия выберем строку Предыдущая запись. В следующем сеан- се диалогового окна можно выбрать вид кнопки: Текст или Рисунок и вы- брать его из списка. Отметим флажки Рисунок и Показать все рисунки. Да- лее выбираем подходящий рисунок из списка, например, Стрелка вверх (си-


няя). После нажатия кнопки Готово кнопка с выбранным рисунком встраива- ется в форму. Аналогичные действия выполняются для встраивания кнопки перехода к последующей записи таблицы. При этом выбираются, соответст- венно, в группе Действия – строку Следующая запись и рисунок Стрелка вниз (синяя). Отредактируем размер в надписи кнопок для перехода к записи другой группы, записав – «ПРЕДЫДУЩАЯ», «СЛЕДУЮЩАЯ».

Для создания кнопки закрытия формы в группе Категории надо выбрать строку Работа с формой, а в группе Действия Закрыть форму. После формирования кнопки заменим название ее название на «ЗАКРЫТЬ».

Редактирование подчиненной формы

Аналогичные действия по доработке выполним для подчиненной формы СПИСОК СТУДЕНТОВ. Перейдем к редактированию подчиненной формы, переводя курсор в область подчиненной формы (см. рис. 5.7) или открывая подчиненную форму в окне базы данных.


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

 

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

Переход в режим формы и загрузка таблиц

Завершив редактирование формы, перейдем из режима конструктора в режим формы, выбрав его на панели конструктора форм или выполнив команду ме-


ню Вид|Режим формы. На рис. 5.11 показана окончательно отредактирован- ная форма в режиме просмотра.


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

Если после редактирования форма была закрыта, то для начала сеанса работы с данными через форму необходимо в окне Учебный процесс: база данных (см. рис. 5.6) в группе Объекты перейти к строке Формы, выделить имя соз- данной многотабличной формы СПИСОК ГРУППЫ и нажать кнопку От- крыть.

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

В процессе загрузки сначала вводятся значения реквизитов группы: номер группы, количество студентов и средний балл группы.

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


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

Для перехода к записи другой группы можно использовать созданные кнопки со стрелками вверх (вниз), для перемещения по записям студентов – стан- дартные кнопки перехода в поле номера записи в нижней части подчиненной формы. Для завершения работы с формой используется созданная в форме кнопка ЗАКРЫТЬ или стандартной кнопкой окна в Windows.

 

 

Упражнение. Для одновременной загрузки таблиц КАФЕДРА и ПРЕПОДА- ВАТЕЛЬ создайте форму, показанную на рис. 5.12. При создании формы вы- полните действия, аналогичные рассмотренным в примере для таблиц ГРУП- ПА и СТУДЕНТ.

 


Рис. 5.12. Форма для загрузки и работы с таблицами КАФЕДРА → ПРЕПОДАВАТЕЛЬ

1.     В соответствии с технологией загрузки базы данных, рассмотренной в на- стоящей главе, осуществите проектирование формы для загрузки данных в таблицы КАФЕДРА и ПРЕПОДАВАТЕЛЬ из документа-источника «Спи- сок преподавателей кафедры»:

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


·        В соответствии с подсхемой определите общую структуру составной формы

Спланируйте размещение реквизитов в макете формы так, чтобы обеспе- чить удобный ввод данных из документа «Список преподавателей кафед- ры».

2.     Создайте форму средствами мастера форм и отредактируйте в конструкто- ре форм.

3.     Загрузите данные через построенную форму в таблице КАФЕДРА И ПРЕ- ПОДАВАТЕЛЬ. Используйте значения, приведенные в Приложении А.