4.С помощью Мастера форм создайте на базе таблиц Преподаватели и Дисциплины формуляр Карточка_преподавателя составного типа, встроив в него подформуляр Наименование_дисциплин для отображения перечня дисциплин, читаемых данным преподавателем. При создании такого формуляра мастер автоматически учитывает связь 1:n между таблицами. Откройте разработанный формуляр в режиме просмотра и попытайтесь выполнить операции по редактированию и удалению записей связанных таблиц.
5.Самостоятельно без помощи Мастера форм создайте вспомогательный формуляр Фамилия_преподавателя, включающий отображение двух полей: Код_преподавателя и FAM – фамилия преподавателя. Этот формуляр предназначен для встраивания в составной формуляр, разрабатываемый в следующем пункте.
6.Используя Мастер форм, создайте главный формуляр Карточка_дисциплины типа в «один столбец» на базе таблицы Дисциплины. В режиме конструирования откройте созданный формуляр и нажмите клавишу F11, чтобы индицировать окно базы данных. Выберите «мышью» вспомогательный формуляр Фамилия_преподавателя и отбуксируйте его в окно главного формуляра. В свойствах вспомогательного формуляра в качестве подчиненного поля укажите поле Код_преподавателя формуляра Фами-
лия_преподавателя, а в качестве основного поля – поле Вн_Код_препода-
вателя формуляра Карточка_дисциплины. Полученный составной формуляр предназначен для просмотра таблицы Дисциплины с одновременным выводом фамилии преподавателя, читающего данную дисциплину. Синхронная связь между таблицами установлена за счет указания в свойствах вспомогательного формуляра соответствующих полей двух формуляров. Следует отметить, что при таком связывании таблиц связь между таблицами в схеме базы данных может отсутствовать. Кроме того, на момент создания основного формуляра встраиваемый формуляр должен быть уже создан.
7.С помощью Мастера форм создайте формуляр Экзаменационный_лист типа «в один столбец», встроив в него три подформуляра Фами-
лия_студента, Наименование_дисциплины, Фамилия_преподавателя для отображения информации из соответствующих таблиц. При выполнении этого пункта руководствуйтесь последовательностью действий, указанной в пп. 5 и 6. Выполните операции по ведению таблицы Экзамены.
8. Используя окно Конструктор, создайте в формуляре Экзаменацион-
ный_лист объект типа Группа переключателей и свяжите его с полем Оценка
16
таблицы Экзамены. Поместите внутри группы четыре объекта типа «Пеключатель» для занесения в таблицу значений оценки: отлично – 5, хорошо – 4, удовлетворительно – 3, неудовлетворительно – 0. С помощью нового объекта выставьте оценки по результатам последней сессии.
9.Разместите в формуляре Экзаменационный_лист объекты типа «Поле со списком» для переноса значений полей: Код_студента, Код_дисциплины,
Код_преподавателя из соответствующих таблиц в таблицу Экзамены. Выполнить операции по заполнению таблицы Экзамены с помощью данных объектов формуляра.
10.В режиме конструирования просмотрите свойства (характеристики) всех объектов, размещенных в формуляре Экзаменационный_лист. В соответствии с собственными эстетическими наклонностями отредактируйте свойства, отвечающие за оформление объектов. Определите порядок обхода полей в формуляре. Сохраните окончательный вид формуляра.
Содержание отчета:
1.Макет формуляра Карточка_студента.
2.Макеты формуляров Список_дисциплин и Список_преподавателей.
3.Макеты формуляров Карточка_дисциплины и Карточка_преподава-
теля, включающие макеты используемых подформуляров.
4.Макет формуляра Экзаменационный_лист.
5.Распечатка свойств объектов различного типа, размещенных в форму-
ляре Экзаменационный_лист.
6.Выводы по работе.
Лабораторная работа 3. ПРОЕКТИРОВАНИЕ МАКРОКОМАНД В СРЕДЕ MS ACCESS
Цель работы – проектирование макрокоманд для выполнения операций по ведению базы данных, созданной в среде универсальной СУБД Microsoft Access.
3.1.Основные положения
Спомощью макрокоманд пользователь может повысить эффективность общения с банком данных и сократить время обработки данных, особенно при выполнении часто повторяющейся последовательности операций. Макрокоманда представляет собой последовательность операций, записанных в виде инструкций на специальном языке. В Access предусмотрены специальные средства проектирования и отладки макрокоманд.
17
3.2.Процедуры создания макрокоманд
3.2.1.Проектирование макрокоманды
Для создания макрокоманды необходимо в окне банка данных выполнить щелчок «мышью» на пиктограмме макрокоманды Macro и нажать командную кнопку New (новый). В результате этих действий откроется окно проектирования макрокоманды.
Вокне проектирования макрокоманды каждая строка может содержать одну инструкцию (в колонке Action) и комментарий к ней (в колонке Comment). Инструкцию можно вводить в строку с клавиатуры, но можно воспользоваться и списком, который доступен в ячейках колонки Action.
Вколонке Comment (комментарий) можно ввести объяснение выполняемых действий или любой другой текст – на выполнение макрокоманды он никак не повлияет. В нижней части окна определяются параметры, необходимые для выполнения инструкций. Здесь можно, в частности, задать аргументы инструкции. В правом нижнем углу окна проектирования расположена информационная зона, в которой выводятся сообщения, поясняющие назначение выбранных инструкции или параметра.
Для добавления в макрокоманду других инструкций следует перейти к следующим строкам и повторить описанные шаги. Access выполняет действия в той последовательности, в которой они представлены в окне проектирования.
3.2.2.Задание условий
Для управления процессом выполнения макрокоманды имеется возможность использовать условные выражения. Для ввода условия следует, находясь в режиме проектирования макрокоманды, установить опцию Conditions (условия) в меню View. При установке этой опции в окне проектирования макрокоманды индицируется дополнительный столбец условий. В колонке условия задается выражение, которое Access оценивает во время выполнения макрокоманды. Если это выражение истинно, то записанная в той же строке в колонке Action инструкция будет выполнена; если выражение ложно, то инструкция игнорируется.
3.2.3.Выполнение макрокоманды
Применяемый для вызова макрокоманды способ зависит от того, в каком окне в данный момент находится пользователь. Находясь в окне проектирования макрокоманды, для выполнения макрокоманды следует нажать кнопку
18
выполнения (с восклицательным знаком) в пиктографическом меню. Из окна банка данных макрокоманду можно вызвать, нажав кнопку Macro и выполнив двойной щелчок на имени выполняемой макрокоманды в списке.
Однако самым распространенным способом инициализации макрокоманды является связывание ее выполнения с некоторым событием, происходящим в открытом формуляре. Каждый объект (поле, командная кнопка и т. д.), размещенный в формуляре, характеризуется набором событий, которые происходят при его инициализации. Такими событиями могут быть: ввод значения в поле, двойной щелчок «мыши» на объекте, нажатие кнопки и т. д. Перечень возможных событий выводится в окне свойств объекта в режиме проектирования формуляра. Чтобы связать выполнение макрокоманды с событием, необходимо в строку свойств объекта, соответствующую выбранному событию, занести имя макрокоманды. Теперь при открытии формуляра и наступлении указанного события Access автоматически выполнит соответствующую макрокоманду.
3.3.Порядок выполнения работы
Впроцессе выполнения работы требуется разработать ряд макрокоманд
исоздать главный формуляр базы данных Dekanat, в котором нужно разместить командные кнопки меню, связанные с разработанными макрокомандами. Перечень кнопок должен соответствовать операциям по ведению базы данных Dekanat. Таким образом, в результате выполнения лабораторной работы будет создана специализированная СУБД Деканат для управления базой данных Dekanat. Для этого проделайте следующее.
1. Войдите в среду Windows и вызовите СУБД Access. Откройте в рабочем каталоге базу Dekanat.
2. Вызовите Мастер макросов с помощью команд меню:
Создание → Макрос → Макрос.
Создайте макрокоманду Открыть форму Карточка_студента и присвой-
те ей имя Открыть_Студент. Выполните макрокоманду, находясь в главном окне банка данных.
3.Создайте макрокоманду Закрыть форму Карточка_студента и при-
свойте ей имя Закрыть_Студент. Выполните макрокоманду, предварительно открыв формуляр Карточка_студента.
4.Откройте формуляр Карточка_студента в режиме проектирования и разместите в формуляре объект типа Командная кнопка с именем Выход.
19
В свойствах объекта событию нажатие кнопки сопоставьте имя макрокоманды Закрыть_Студент. Откройте формуляр в режиме просмотра и щелкните «мышью» на командной кнопке Выход.
5.Создайте главный формуляр базы данных Dekanat с именем Деканат, не связанный ни с одной таблицей. Разместите в формуляре командную кнопку Студенты и свяжите с ней макрокоманду Открыть_Студент. Откройте формуляр в режиме просмотра и осуществите доступ к таблице Студенты
спомощью командной кнопки.
6.Выполните операции 2–5 для формуляров: Список_дисциплин, Спи-
сок_преподавателей, Карточка_преподавателя, Карточка_дисциплины,
Экзаменационный_лист. Разместите соответствующие кнопки в главном фор-
муляре Деканат и проверьте доступ ко всем таблицам из главного формуляра.
7.Создайте макрокоманду Открыть форму → Экзаменационный_лист с → условием поле → оценка → равно 5 и присвойте ей имя Открыть_отличники.
Вглавном формуляре добавьте в меню командную кнопку Отличники и свяжите ее с макрокомандой Открыть_отличники. Проверьте правильность выполнения макрокоманды.
8.Создайте в главном формуляре Деканат кнопку Выход и соответствующую макрокоманду. Проверьте работу СУБД Деканат во всех режимах.
Содержание отчета:
1.Макет формуляра Деканат с командными кнопками меню.
2.Переченьвсехсвойстводнойизкомандныхкнопокглавногоформуляра.
3.Тексты всех макрокоманд, используемых в лабораторной работе.
4.Результаты выполнения макрокоманды Открыть_отличники.
5.Рисунок структурной схемы СУБД Деканат с указанием всех таблиц, формуляров и связей между ними.
6.Выводы по работе.
Лабораторная работа 4. ПРОЕКТИРОВАНИЕ ЗАПРОСОВ В СРЕДЕ MS ACCESS
Цель работы – проектирование запросов для выборки информации из базы данных, созданной в среде универсальной СУБД Microsoft Access.
4.1. Основные положения
Запросы необходимы пользователю для выбора из базы данных информации, которая отвечает определенным условиям. Результат обработки СУБД Access такого запроса представляет собой таблицу (последователь-
20