Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы

Рассмотренные выше два варианта построения формы для загрузки данных о занятиях (рис. 4.53, 4.56) недостаточно удобны для работы пользователя. В первом варианте данные о каждом занятии были представлены компактно в виде одиночной записи, но не обеспечивался удобный доступ к занятиям каждой группы. Вариант формы с подчиненной таблицей также имел недостатки, поскольку данные, вводимые в таблицу ИЗУЧЕНИЕ, входили в одну длинную запись вместе с отображаемыми справочными данными.

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

Требования к создаваемой форме. Обеспечим возможность компактного отображения на экране всей информации об одном занятии, как в форме на рис.4.53, и сохраним в то же время возможность объединения записей о занятиях по группам, как в форме на рис. 4.56. Кроме того, целесообразно в форме в одну группу объединить поля, в которые вводятся значения при загрузке таблицы ИЗУЧЕНИЕ, а в другую - поля, которые содержат только справочную информацию о предмете и преподавателе, которая отображается для расшифровки идентификаторов занятия. В процессе конструирования обеспечим защиту справочных данных в таблицах ГРУППА, ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ от случайных изменений при загрузке данных о занятиях в таблицу ИЗУЧЕНИЕ. Предусмотрим для удобства пользователя кнопки перехода к просмотру занятий для другой группы и кнопку закрытия формы. Для визуальной проверки правильности вводимых идентификаторов преподавателя и предмета используем поля со списком.

В соответствии с перечисленными требованиями для первоначального размещения полей и создания подчиненной формы можно воспользоваться формой ПЛАН ЗАНЯТИЙ, полученной мастером (см. рис. 4.56). Откроем эту форму в режиме конструктора. Для этого в окне ...:база данных (Database) в группе Объекты (Objects) выделим строку Формы (Forms). Выберем для редактирования созданную ранее многотабличную форму ПЛАН ЗАНЯТИЙ и нажмем кнопку Конструктор (Design). Если форма была открыта ранее в режиме про- смотра, то для перехода в режим конструктора достаточно нажать кнопку Вид (View) на панели конструктора форм (см. рис. 4.3).

Редактирование основной части формы. В основной части формы разместим и отредактируем поля таблицы ГРУППА так, как это показано на рис. 4.57. Уточним текст подписей полей, шрифт и размеры полей и подписей, введем текст в заголовок формы. Удалим элемент с подписью подчиненной формы. Удалим разделительные линии между разделами формы: заголовком, областью данных и примечания. Для этого в свойствах формы на вкладке Макет (Format) в строке Разделительные липни (Dividing Lines) выберем Нет (Nо). Уберем область выделения записи, проставив в свойствах формы в соответствующей строке "Нет" (No). Создадим две кнопки для перехода к следующей или предыдущей группе, а также кнопку для закрытия формы.

Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы - student2.ru
Рис. 4.57. Основная часть многотабличной формы после редактирования в режиме конструктора

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

Сохраним форму под новым именем –«ПЛАН ЗАНЯТИЙ В ГРУППЕ», используя команду Сохранить как (Save As).

Редактирование подчиненной формы ИЗУЧЕНИЕ. Ранее мастером было получена подчиненная ленточная форма, которая в режиме конструктора показана на рис. 4.58.

Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы - student2.ru
Рис. 4.58. Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора

Для изменения вида подчиненной формы вызовем ее свойства. На вкладке Макет (Format) (рис. 4.59) заменим в строке Режим по умолчанию (Default View) значение Ленточная форма (Continuous Forms) на Простая форма (Single Form). Это позволит отображать в подчиненной форме одну запись о занятии. Вид формы в конструкторе останется прежним.

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

Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы - student2.ru
Рис. 4.59. Отображение списка режимов по умолчанию в окне свойств подчиненной формы

Поля таблицы ИЗУЧЕНИЕ, в которой надо вводить данные из документа «План занятий», разместим в верхней части области данных. В нижней части области данных разместим поля, в которые будут автоматически выводиться справочные данные из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ для расшифровки вводимых идентификаторов занятия. Эти поля служат только для отображения сведений о предмете и преподавателе. Для создания рамок используем кнопку панели элементов Прямоугольник (Rectangle).

Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы - student2.ru
Рис. 4.60. Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора форм после редактирования

Уточним текст подписей полей, шрифт и размеры полей и подписей. Выполним относительное выравнивание надписей и полей с помощью команды меню Формат|Выровнять (Format|Align).

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

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

Для визуального контроля правильности ввода идентификаторов занятия: КП и ТАБН можно использовать Поле со списком (Combo Box). Процесс создания такого поля рассматривается ниже.

Создание полей со списком

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

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

Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы - student2.ru
Рис. 4.61. Поле со списком

Создание поля со списком может быть выполнено с помощью мастера или без него.

Наши рекомендации