Цель работы:
Освоить технологии конструирования и использования форм.
Форма – это объект базы данных, который можно использовать для ввода, изменения или отображения данных из таблицы или запроса. Формы применяются для управления доступом к данным, например для определения того, какие поля или строки данных должны отображаться. Эффективная форма ускоряет работу с базой данных, так как пользователям не требуется искать нужные сведения. Привлекательная форма делает работу с базой данных не только эффективной, но и более приятной. Кроме того, формы могут предотвращать ввод неверных данных.
Виды форм:
Форма для ввода и модификации данных:
Форма с одним элементом.
Разделённая форма.
Форма для нескольких элементов (ленточная форма).
Составная форма (главная и подчинённая, с отношением один-ко-многим).
Сводная таблица (сводная диаграмма).
Форма навигации.
Пользовательское окно диалога.
Форма является удобным средством для просмотра базы данных, а также для ввода данных и их корректировки. Форма обычно отображает поля одной строки таблицы или запроса. В форме можно отображать данные нескольких таблиц или запросов. Применение форм позволяет упростить ввод данных в базу данных и уменьшить количество допускаемых ошибок ввода. Для этого форма снабжается:
форматами ввода;
условиями проверки вводимых данных;
масками ввода для ввода стандартизованной информации;
пояснительным текстом;
группировкой данных, приближающей её вид к бумажному бланку.
Форма содержит следующие разделы:
заголовок;
область данных;
верхний и нижний колонтитулы;
примечание.
Заголовок формы может содержать название формы, инструкции по её использованию, а также кнопки, предназначенные для открытия подчинённых форм и выполнения других задач. В режиме формы заголовок отображается в верхней части экрана, а при печати – в верхней части первой страницы.
Область данных содержит записи. На экране одновременно их может располагаться от одной до нескольких.
Верхний колонтитул может содержать заголовок формы, графические объекты, заголовки столбцов и любые другие сведения, которые должны изображаться в верхней части каждой страницы. Верхние колонтитулы используются только при печати формы.
Нижний колонтитул может содержать дату, номер страницы и любые другие сведения, которые должны отображаться в нижней части каждой страницы. Нижний колонтитул появляется только при печати формы.
Примечание формы может содержать кнопки и инструкции по использованию формы. В режиме формы примечание отображается в нижней части экрана, а при печати – на последней странице после области данных.
При проектировании формы можно использовать текстовые строки, рисунки и линии, кнопки, списковые окна и т.п. Форма проектируется при помощи панели элементов.
В форме может быть разрешено или запрещено корректировать определённые данные или вообще ввод новых записей.
С формой можно работать в трёх режимах:
в режиме конструктора;
в режиме формы;
в режиме таблицы.
Составная форма содержит главную форму и подчинённые ей формы. Подчинённые формы позволяют решать следующие задачи:
отображать отношения один-к-одному или один-ко-многим между таблицами или запросами, например, в главной форме выводят только категорию товаров, а в подчинённой – полный список товаров, относящихся к этой категории.
обновлять записи в разных таблицах с помощью одной формы.
При необходимости, пользователь имеет возможность изменить макет подчинённой формы. Допускается вставка в главную форму нескольких подчинённых форм. Возможна вставка в главную форму двух вложенных друг в друга подчинённых форм. Это означает, что в форму вставлена подчинённая форма, которая сама содержит подчинённую форму. Для ссылки на значение элемента управления подчинённой формы используют выражение. Если для свойства формы Допустимые режимы задано значение Все, то в режиме формы для главной формы допускается вывод подчинённой формы, как в режиме формы, так и в режиме таблицы.
Для перехода в режиме формы из подчинённой формы в главную следует щёлкнуть мышью на любом поле в главной форме. Для перехода из главной формы в подчинённую следует щёлкнуть мышью на любом месте подчинённой формы (или выбрать имя подчинённой формы в раскрывающемся списке Переход к полю на панели инструментов).
Примечания.
Для отказа от данных, только что введённых в запись необходимо два раза нажать клавишу Esc.
В режиме конструктора форму можно преобразовать в отчёт, если выполнить команду Сохранить как отчет.
Форму можно создавать с помощью множества средств, находящихся на вкладке Создание (Create) в группе Формы (Forms) (в зависимости от типа и сложности создаваемой формы).
В лабораторной работе необходимо создать следующие формы:
простая форма по одной таблице;
простая форма по связанным таблицам;
простая форма на основании запроса;
форма со списком или с полем для списка;
составная форма;
форма-меню с кнопками управления.
Изучить возможности программы MS Access для выполнения заданий, представленных ниже.
Номер варианта и задания, если это требуется в лабораторной работе, определяется преподавателем.
Задание 1. Создать простую форму по одной таблице Студенты, включив в неё все поля таблицы.
Откройте базу данных Университет.
На вкладке Создание (Create) в группе Формы (Forms) выберите режим Мастер форм (Form Wizard).
В окне Мастера форм (Form Wizard) выберите все поля таблицы Студенты и нажмите кнопку Далее.
Выберите внешний вид формы В один столбец и нажмите кнопку Далее.
Выберите стиль оформления и нажмите кнопку Далее.
Присвойте имя форме Задание_1 и нажмите кнопку Готово.
Просмотрите информацию таблицы с помощью созданной формы.
Выполните редактирование формы – введите заголовок формы Список студентов. Для этого:
установите режим Конструктор (Design);
с помощью вертикальной линейки создайте достаточную область для ввода заголовка формы; выберите на панели элементов Надпись и отметьте границы надписи в области заголовка, введите текст в рамку надписи;
выделите рамку надписи и отрегулируйте её размер и местоположение;
выделите надпись и установите необходимый размер и начертание шрифта.
Просмотрите форму, щёлкнув по кнопке инструментальной панели Вид и установив Режим формы.
Закройте форму, сохранив изменения.
Задание 2. Создать простую форму по связанным таблицам. Создать форму для просмотра перечня групп с расшифровкой специальностей и названий факультетов. Для создания формы использовать 3 таблицы: Группа, Специальность и Факультет.
На вкладке Создание (Create) в группе Формы (Forms) выберите режим Мастер форм (Form Wizard).
Выберите следующие поля:
НомерГруппы (из таблицы Группа);
НаименованиеФакультета (из таблицы Факультет);
НомерСпециальности (из таблицы Специальность);
НаименованиеСпециальности (из таблицы Специальность).
Нажмите кнопку Далее.
На следующем шаге выберите тип представления данных: Группа. Нажмите кнопку Далее.
Выберите внешний вид формы – Ленточный.
Выберите стиль оформления и нажмите кнопку Далее.
Присвойте имя форме – Задание_2. Нажмите кнопку Готово.
Просмотрите данные, выводимые в форму.
Задание 3. Создать простую форму на основании запроса. Необходимо создать форму по запросу с вычисляемым полем (запрос для получения справки по стоимости обучения коммерческих студентов с учетом НДС – задание 8 лабораторной работы №2), включив в форму все поля запроса. Порядок действий аналогичен порядку, рассмотренному в предыдущем задании. Следует выбрать внешний вид формы – Выровненный. Присвоить форме имя Задание_3.
Задание 4. Создать форму со списком. Необходимо создать форму, позволяющую просматривать и редактировать данные каждого студента. Форма должна быть снабжена списком групп, в котором для каждой группы указывается её номер специальности и наименование факультета. Для создания формы следует использовать таблицу Студенты и специально подготовленный запрос Группа_факультет.
Подготовьте запрос на выборку по таблицам Группа, Факультет, включив в него поля:
НомерГруппы;
НомерСпециальности;
НаименованиеФакультета.
Присвойте запросу имя Группа_факультет.
Создайте с помощью Мастера форм (Form Wizard) простую форму в один столбец по таблице Студенты, включив в неё поля:
Фамилия;
НомерЗачётнойКнижки;
ДатаРождения;
Коммерческий.
Присвойте форме имя Форма_с_полем_для_списка.
Выберите далее Изменить макет формы для непосредственного перехода в режим конструктора.
В режиме конструктора переместите вниз горизонтальную линию, разделяющую области данных и примечания.
На вкладке Конструктор (Design) в группе Элементы управления (Controls) выберите элемент управления формы Поле со списком. Укажите мышью местоположение выбранного элемента в области данных формы. Высота элемента должна быть равна высоте кнопки, раскрывающей список. В окне Создание полей со списком нажмите кнопку Отмена.
Разъедините контуры названия поля и самого поля, перетаскивая мышью левый верхний маркер одного из контуров. Замените название поля в контуре надписи на Группа.
Щёлкните правой кнопкой мыши внутри контура поля со списком и выберите в контекстном меню пункт Свойства (Property). Появится Окно свойств (Property Sheet) для настройки свойств поля. Выполните настройку. Для этого:
установите вкладку Данные (Data);
в строке Данные раскройте список полей и выберите поле НомерГруппы;
в строке Тип источника строк выберите Таблица или запрос;
в строке Источник строк выберите запрос Группа_факультет;
на вкладке Макет укажите число столбцов – 3, заглавия столбцов – да, ширина списка – 6 см, ширина столбцов – 1,2; 3.
Перейдите в Режим формы (Form View). Просмотрите готовую форму.
Сохраните форму под именем Задание_4.
Задание 5. Создать составную форму. Составная форма должна содержать главную форму и одну подчинённую форму. Необходимо создать форму для вывода информации о группе.
Главная форма должна содержать общие сведения о группе:
НомерГруппы;
НомерСпециальности;
НаименованиеСпециальности;
НаименованиеФакультета.
Для получения этих сведений следует создать запрос Группа_специальность_факультет, включив в него перечисленные поля.
Подчинённая форма должна иметь табличную форму и содержать список группы, в который необходимо включить поля:
Фамилия;
НомерЗачетнойКнижки;
ДатаРождения;
Коммерческий.
Создайте простой запрос на выборку Группа_специальность_факультет, включив в него необходимые поля (см. выше).
Создайте с помощью Мастера форм (Form Wizard) табличную форму с именем Подчинённая со списком студентов из таблицы Студенты.
Создайте с помощью Мастера форм (Form Wizard) главную форму на основе запроса Группа_специальность_факультет, включив в неё все поля. Главную форму создайте в один столбец обычным стилем, используя тип представления данных Группа. На последнем шаге установите переключатель в положение Изменить макет формы для непосредственного перехода в режим конструктора.
В режиме конструктора:
увеличьте область для размещения данных;
добавьте элемент Надпись с текстом Список студентов;
добавьте под надписью элемент Подчиненная форма/отчет (в окне Мастер подчинённых форм нажмите кнопку Отмена);
вызовите щелчком правой кнопки мыши окно настройки свойств элемента;
на вкладке Данные выберите объект-источник – форма с именем Подчинённая;
щёлкните по строке Подчинённые поля, вызовите кнопку настройки и далее повторным щелчком по кнопке настройки вызовите окно Связь с полями подчиненной формы;
в окне Связь с полями подчиненной формы определите связь между главным и подчинённым полями через поле НомерГруппы;
на вкладке Макет установите размер окна подчиненной формы: ширина – 1, высота – 8 и закройте окно настройки свойств;
удалите лишнюю надпись Внедрённый объект, щёлкнув внутри контура надписи и затем нажав клавишу Delete.
Перейдите в режим формы и, используя 2 горизонтальные линейки прокрутки, просмотрите перечень и списки групп.
Переходя из режима формы в режим конструктора и обратно, отрегулируйте размеры и местоположение полей главной и подчинённой формы, измените размеры и типы шрифтов и линий.
Задание 6. Создать составную форму для просмотра состава групп.
Особенности формы:
отключены линейки прокрутки;
для перехода от группы к группе введены пользовательские кнопки Стрелка вниз и Стрелка вверх;
в форме выводится количество студентов в группе.
Для создания такой формы необходимо подготовить запрос с итогом и подчинённую форму.
Создайте запрос с итогом по количеству студентов в группах на основании таблиц Факультет, Специальность, Группа, Студенты, включив в него поля:
НаименованиеСпециальности;
НаименованиеФакультета;
НомерГруппы;
НомерКурса;
КоличествоСтудентов (итоговое поле).
Присвойте имя запросу Запрос_с_итогом.
Создайте с помощью Мастера форм (Form Wizard) подчинённую форму Студенты_подчинённая в табличном виде, содержащую список студентов, и подготовленную на основании таблицы Студенты.
Создайте главную форму. Для этого на вкладке Создание (Create) в группе Формы (Forms) выберите Конструктор форм (Form Design).
В режиме конструктора откройте Окно свойств формы (Property Sheet), щёлкнув на кнопке Страница свойств (Property Sheet) в группе Сервис (Tools) на вкладке Конструктор (Design).
В окне свойств формы в качестве источника данных укажите запрос Запрос_с_итогом.
На вкладке Конструктор (Design) в группе Элементы управления (Controls) выберите элемент управления формы Поле. В окне конструктора форм, находясь в области данных, поместите пять полей (в соответствии с запросом с итогом) и их названия, последовательно выбирая элемент Поле.
Установите связь между полями формы и запросом. Для этого, щёлкнув внутри контура поля правой кнопкой мыши, вызовите контекстное меню и выберите в нём пункт Свойства. В окне свойств поля установите вкладку Данные, в строке Данные выберите из раскрывающегося списка имя соответствующего поля.
Примечание. Чтобы выбрать элемент управления или область формы, для которой задаются свойства, необходимо щёлкнуть по этому элементу или области и таким образом выбрать его, или выбрать необходимый элемент из выпадающего списка в окне свойств.