Использование подчиненных форм 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование подчиненных форм



 

Форма, вставляемая в другую форму, называется подчиненной формой (или субформой). Подчиненную форму можно использовать, чтобы: показать данные из нескольких связанных отношением таблиц в одной форме; получить доступ к записям из различных таблиц в одной-единственной форме. Допустим, что в базе имеются таблицы "Вагоны", "Поезда" и "Состав поезда". Структура двух последних таблиц представлена на Рис. 2.

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

Рис. 2 Структра таблицы "Поезда" (слева) и "Состав поездов" (справа)

 

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

Допустим, что на железнодорожной станции сформирован поезд, состоящий из вагонов, информация о которых есть в таблице "Вагоны". Необходимо: ввести информацию о поезде в таблицу "Поезда"; выбрать из списка имеющихся вагонов те, которые войдут в состав сформированного поезда. Для этого требуется создать главную форму ввода данных о поездах и подчиненную форму ввода состава поездов. Поскольку предполагается, что список номеров вагонов уже существует, то организуем их подстановку в таблицу "Состав поездов" из таблицы "Вагоны". Для этого воспользуемся "Мастером подстановок" при определении поля "Номер" в таблице "Состав поездов". После окончания работы мастера рекомендуется щелкнуть по разделу (Подстановка) поля "Номер" и установить значение "Да" в параметре (Ограничиться списком). Это необходимо для того, чтобы оператор случайно не ввел номер вагона, которого на самом деле нет на станции.

Для создания подчиненных форм лучше всего воспользоваться мастером построения форм. В окне (Создание форм) необходимо выбрать таблицу, на основе которой будет создана главная форма, затем выбрать поля, которые будут доступны оператору через форму. Не выходя из окна выбрать таблицу, на основе которой будет создана подчиненная форма и выбрать из этой таблицы нужные поля. В нашем случае из таблицы "Поезда" следует выбрать поля: "Код станции передачи информации"; "Номер поезда"; "Код станции назначения"; "Длина состава" и "Масса состава брутто". Из таблицы "Состав поездов" достаточно выбрать единственное поле – "Номер" (Рис. 3). Следующие настройки формы, предлагаемые мастером, рекомендуется оставить без изменения.

 

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

 

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

Очевидно, что в нашем случае таблицы "Поезда" и "Состав поездов" будут содержать данные о сформированных на станции или на предприятии поездах. Для хранения данных о вновь прибывающих поездах необходимо создать таблицу "Состав прибывающих поездов". Её структура аналогична структуре таблицы "Состав поездов" за исключением того, что для ввода номеров вагонов не используется подстановка имеющихся в базе номеров. В разделе (Подстановка) для поля "Номер" необходимо установить параметр "Тип элемента управления" в положение "Поле".

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

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

При разработке подчиненных форм особое внимание следует уделять корректной связи между таблицами. Для описанного случая схема данных будет выглядеть следующим образом (Рис. 4). Две одинаковые по структуре таблицы "Состав поездов" и "Состав прибывающих поездов" связаны с таблицей "Поезда" по номеру поезда (т.е. общим полем "Порядковый номер поезда"), а с таблицей "Вагоны" по инвентарным номерам вагонов (общее поле – "Номер"). Обратите внимание, что сохраняется заданная ранее связь между таблицами "Вагоны" и "Потребители", благодаря которой осуществляется корректное выполнение операции подстановки кодов потребителей в таблицу "Вагоны".

 

Рис. 4 Схема данных на этапе разработки подчиненных форм

Использование формы

 

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

Для добавления записей в таблицу с помощью формы в окне базы данных следует выбрать необходимую форму и щелкнуть на кнопке (Открыть). Далее в меню (Записи) надлежит активизировать команду (Ввод данных). Access отобразит форму, соответствующую пустой записи. Пустая запись в форме обозначается звездочкой (*) в селекторном столбце (при наличии других заполненных записей). В пустые поля формы можно ввести данные, подлежащие занесению в запись. С помощью клавиши (Tab) осуществляется переход к следующей записи.

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

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 131; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.94.251 (0.007 с.)