Рассмотренные выше два варианта построения формы для загрузки данных о занятиях недостаточно удобны для работы пользователя.
В первом варианте данные о каждом занятии были представлены компактно в виде одиночной записи, но не обеспечивался удобный доступ к занятиям каждой группы. Вариант формы с подчиненной таблицей также имел недостатки, поскольку данные, вводимые в таблицу ИЗУЧЕНИЕ, входили в одну длинную запись вместе с отображаемыми справочными данными.
Выполним разработку формы, более удобной пользователю для просмотра занятий группы и загрузки новых занятий, и защитим в ней поля справочных данных.
Требования к создаваемой форме. Обеспечим возможность компактного отображения на экране всей информации об одном занятии, и сохраним в то же время возможность объединения записей о занятиях по группам. Кроме того, целесообразно в форме в одну группу объединить поля, в которые вводятся значения при загрузке таблицы ИЗУЧЕНИЕ, а в другую — поля, которые содержат только справочную информацию о предмете и преподавателе, которая отображается для расшифровки идентификаторов занятия. В процессе конструирования обеспечим защиту справочных данных в таблицах ГРУППА, ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ от случайных изменений при загрузке данных о занятиях в таблицу ИЗУЧЕНИЕ. Предусмотрим для удобства пользователя кнопки перехода к просмотру занятий для другой группы и кнопку закрытия формы. Для визуальной проверки правильности вводимых идентификаторов преподавателя и предмета используем поля со списком.
В соответствии с перечисленными требованиями для первоначального размещения полей и создания подчиненной формы можно воспользоваться формой ПЛАН ЗАНЯТИЙ, полученной мастером. Откроем эту форму в режиме конструктора
Редактирование основной части формы. В основной части формы разместим и отредактируем поля таблицы ГРУППА так, как это показано на рис. 25. Уточним текст подписей полей, шрифт и размеры полей и подписей, введем текст в заголовок формы. Удалим элемент с подписью подчиненной формы. Удалим разделительные линии между разделами формы: заголовком, областью данных и примечания. Для этого в свойствах формы на вкладкеМакет (Format) в строке Разделительные линии (Dividing Lines) выберем Нет (No). Уберем область выделения записи, проставив в свойствах формы в соответствующей стороке "Нет" (No). Создадим две кнопки для перехода к следующей или предыдущей группе, а также кнопку для закрытия формы.

Рисунок 25 Основная часть многотабличной формы после редактирования в режиме конструктора
Ограничение доступа к полям таблицы-источника основной части формы. Защитим данные записей таблицы ГРУППА от непроизвольных изменений при работе с формой т.к. они должны использоваться только для отображения. Это все поля основной части формы. Для защиты поля выделим рамку поля и с помощью контекстно-зависимого меню вызовем свойства поля. В окне свойств на вкладке Данные (Data) в строке Блокировка (Locked) выберем Да (Yes). После установки этого свойства поле доступно только для чтения.
Редактирование подчиненной формы ИЗУЧЕНИЕ. Ранее мастером была получена подчиненная ленточная форма.

Рисунок 26 Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора
Для изменения вида подчиненной формы вызовем ее свойства. На вкладке Макет (Format) заменим в строкеРежим по умолчанию (Default View) значение Ленточная форма (Continuous Forms) на Простая форма (Single Form). Это позволит отображать в подчиненной форме одну запись о занятии. Вид формы в конструкторе останется прежним.
В подчиненной форме разместим поля так, как это показано на рис. 27. После перемещения всех подписей полей из заголовка в область данных можно сократить его размер до нуля перемещением границы заголовка и области данных.
Для создания рамок используем кнопку панели элементовПрямоугольник (Rectangle).

Рисунок 27 Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора форм после редактирования
В область примечаний формы введем инструкцию пользователю, требующую обязательного ввода данных в поля, идентифицирующие занятие: код предмета — КП, номер преподавателя — ТАБН и вид занятия — ВИДЗ. Без этого не может быть создана запись в таблице ИЗУЧЕНИЕ.
Защита справочных данных от изменений. Защитим поля НП, ЧАСЫ, ЛЕК, ПР таблицы ПРЕДМЕТ и поля ФИО, СТ, 3В таблицы ПРЕПОДАВАТЕЛЬ от случайных изменений при работе с формой. Для защиты поля выделим рамку поля и с помощью контекстно-зависимого меню вызовем свойства поля. В окне свойств на вкладке Данные (Data) в строке Блокировка (Locked) выберем Да(Уеs). После установки этого свойства поле доступно только для чтения.
Для визуального контроля правильности ввода идентификаторов занятия: КП и ТАБН можно использовать Поле со списком (Combo Box). Процесс создания такого поля рассматривается ниже.






