Федеральное агентство по образованию

Армавирский машиностроительный техникум

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ДЛЯ СТУДЕНТОВ ПО ПРОВЕДЕНИЮ

ПРАКТИЧЕСКИХ ЗАНЯТИЙ

ЧАСТЬ 5

Для специальностей

230105 «Программное обеспечение вычислительной техники и автоматизированных систем»

230106 «Техническое обслуживание средств вычислительной техники и компьютерных сетей»

дисциплины «Базы данных»

2008

Одобрена предметной комиссией «программного обеспечения и информационных технологий»

Соответствует государственным требованиям к минимуму содержания и уровню подготовки выпускников по специальности 230105

И 230106 среднего профессионального образования

Председатель предметной комиссии

____________________

протокол №___от________________

Зам. директора по УР

_______________

Составитель:

преподаватель спецдисцисплин

Рецензенты:

преподаватель спецдисцисплин


Оглавление.

Введение……………………………………………………………….4

Практическое занятие № 16…………………………………………..5

Литература…………………………………………………………….18

Введение

В настоящем пособии содержится пятая часть набора практических занятий по дисциплине «Базы данных» для специальностей 230105 «программное обеспечение вычислительной техники и автоматизированных систем», 230106 «техническое обслуживание средств вычислительной техники и компьютерных систем».

Пятая часть содержит практическую работу № 16. Эта часть посвящена созданию макросов. Рассмотрены примеры создания макросов, использование условий в макросах, создание группы макросов, связывание макроса с кнопкою, запуск макроса при возникновения события.

НЕ нашли? Не то? Что вы ищете?

Материал темы иллюстрируется на примере создания базы данных конкретной предметной области. Данные работы носят репродуктивный и частично-поисковый характер.

После выполнения практических работ студент должен

Знать:

·  Назначение макрокоманд

·  Использование условий в макросах

·  События объектов

Уметь:

·  Пользоваться мастером создания кнопок.

·  Самостоятельно добавлять кнопки к форме

·  Настраивать кнопку

·  Создавать макрос

·  Использовать условия в макросе

·  Составлять из макросов группы

·  Связывать макрос с кнопкой

·  Связывать макрос с событием

Правила выполнения практических работ.

Студент должен:

§  Строго выполнять весь объем домашней подготовки, указанный в описании соответствующей практической работы;

§  Выполнению каждой работы предшествует проверка готовности студента, которая производится преподавателем;

§  Студент не допускается к выполнению практической работы, если не выполнил полный объем домашней подготовки и получает за практическое занятие два балла.

Критерии оценки.

§  оценка отлично подразумевает полностью выполненные задания и правильные ответы на дополнительные вопросы (при необходимости);

§  оценка хорошо подразумевает полностью выполненные задания с неточностями, которые устраняются ответами на дополнительные вопросы, и правильными ответами на дополнительные вопросы;

§  оценка удовлетворительно подразумевает выполненные задания с незначительными ошибками, которые не устраняются ответами на дополнительные вопросы.

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

Практическое занятие № 16

Создание макросов для решения задач.

Цель: научиться формировать макрокоманду и ее параметры; связывать выполнение макроса с событием:

Задание.

1. Самостоятельно изучить методические рекомендации по проведению конкретного практического занятия

2. Подготовить формы отчета

3. Подготовить ответы на контрольные вопросы

Работа в лаборатории.

Программа на языке макросов или просто макрос является объектом Access, который наряд с другими объектами представлен в окне базы данных. Макрос состоит из последовательности макрокоманд. Макрокоманда — это инструкция, ориентированная на выполнение определенного действия.

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

Рис. 5.1. Окно макроса в режиме конструктора с открытым списком макрокоманд

Макрос для последовательного выполнения запросов

ЗАДАНИЕ. Пусть необходимо подсчитать количество студентов в группах и внести эти данные в поле КОЛ таблицы ГРУППА. Подсчет количества студентов реализован запросом Число студентов в группе. Обновление поля КОЛ на основе полученных в этом запросе данных выполняет запрос Обновление ГРУППА_КОЛ. Поставленная задача решается путем последовательного выполнения таких запросов

Создадим макрос, который последовательно выполнит эти запросы. Кроме того, включим в макрос макрокоманды, автоматизирующие действия пользователя по управлению объектами на экране при решении задачи и в частности, действия, обеспечивающие отображение на экране результатов решения задачи к удобном для него виде.

1. Чтобы начать создание макроса в окне базы данных, выберите вкладку Макросы и нажмите кнопку Создать. Откроется окно макроса (рис. 5.1).

2. Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда. Для ввода макрокоманды нажмите кнопку раскрытия списка макрокоманд в этом столбце и выберите ОткрытьЗапрос чтобы выполнить первый запрос.

3. Имя запроса Число студентов в группе выберите из списка в разделе Аргументы макрокоманды в нижней части окна макроса

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

5. для выполнения запроса Обновление ГРУППА_КОЛ введите макрокоманду ОткрытьЗапрос.

Порядок размещения макрокоманд в бланке определяет последовательность их выполнения.

Рис. 5.2. Макрос задачи в режиме конструктора.

6. Чтобы выполнить в макрос эту команду, воспользуйтесь перетаскиванием объектов с помощью мыши. В окне базы данных выберите запрос Обновление ГРУППА_КОЛ и перетащите его в строку макрокоманды. Сформулируется макро команда ОткрытьЗапрос в аргументах которой автоматически появляется имя открываемого запроса, режим отображения запроса и режим работы с его данными (рис.5.1).

7. Сохраните макрос под именем Расчет числа студентов в грппах, воспользовавшись кнопкой панели инструментов макроса Сохранить.

8. Запустите макрос, нажав кнопку панели инструментов Запуск.

9. Во время выполнения макроса на экран выводятся предупреждающие сообщения, выдаваемые выполняющимся запросом. Для временного отключения вывода на экран окон этих сообщений дополните макрос макрокомандой УстановитьСообщения. В строке аргумента Включить сообщение выберете значение Нет. Для возобновления вывода сообщений после выполнения запросов надо было бы задать значение Да. Однако эту макрокоманду можно опустить, поскольку после прекращения работы макрос вывода предупреждений восстанавливается автоматически.

10. организуйте вывод на экран таблиц ГРУППА и Число студентов, чтобы сделать наглядным процесс работы макроса и обновления таблицы. Для этого дополните макрос так, как показано на рис. 5.2.

11. закройте макрос и запустите его из окна базы данных, воспользовавшись кнопкой Запуск.

12. ход и результаты выполнения запроса по обновлению поля КОЛ отображаются на экране в виде сообщений и таблиц.

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

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

Макрокоманды, используемые в программе, предназначены для выполнения действий, перечисленных ниже.

Ø  Свернуть позволяет свернуть окно, которое было активным в момент запуска макроса на выполнение. Если макрос запускается из окна базы данных, и кроме этого окна нет открытых окон, на экране будет отображено только свернутое окно базы.

Ø  ОткрытьТаблицу открывает таблицу ГРУППА. Имя таблицы и режим её открытия указываются аргументами макрокоманды. Открытая таблица ГРУППА будет отображаться на экране до выполнения макрокоманды Закрыть. Это позволит посмотреть содержимое таблицы до и после выполнения запросов.

Ø  СдвигРазмер позволяет задать размер и местоположение окна активного объекта. В результате выполнения макрокоманды после открытия таблицы изменяются параметры окна таблицы (при использовании данной команда размер окон нужно подбирать).

Ø  Сообщение выдает сообщение, указанное в аргументах макрокоманды.

Ø  Восстановить восстанавливает окно, свернутое перед решением задачи.

Допускается использование в макросе еще не созданных объектов. Например, в аргументе Имя таблицы макрокоманды ОткрытьТаблицу указано имя еще несуществующей таблицы Число студентов. Однако к моменту выполнения макрокоманды эта таблица должна быть создана в базе данных. в рассматриваемом примере таблица Число студентов создается запросом в ходе работы макроса до выполнения макрокоманды, открывающей её.

Макрос синхронной обработки данных двух форм

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

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

Для решения задачи используем формы ПРЕДМЕТ_ПРОГРАММА и Двоечники.

Постройте Запрос Двоечники по таблицам УСПЕВАЕМОСТЬ и СТУДЕНТ. Выберите поля КП (Код предмета), ФИО студента, ОЦЕНКА. В поле ОЦЕНКА в строке Условие отбора записано значение 2. Форму Двоечники создайте на основе запроса Двоечники. Форма Двоечники отобразит список всех записей о двойках, полученных студентами по всем предметам. Формы ПРЕДМЕТ_ПРОГРАММА и Двоечники имеют поле КП, содержащее код предмета.

Рис. 5.3. Макрос, организующий синхронный просмотр данных в двух формах.

Для решения задачи создайте группу макросов с именем Двоечники, включающую макрос М1 и М2.

Пусть макрос М1 выполняется при открытие формы ПРЕДМЕТ_ПРОГРАММА, открывает форму Двоечники и определяет ее место положение на экране.

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

Для создания макроса выберите в окне базы данных вкладку Макросы и нажмите кнопку Создать. Чтобы дополнить окно макроса столбцом, позволяющим создать группу макросов, щёлкните на панели инструментов Запишите макрокоманды макросов М1 и М 2 так, как показано на рис.5.3, и сохраните группу макросов под именем Двоечники. Это имя будет выводится в списке макросов в окне базы данных. Для запуска макроса М1 установите связь события Открытия формы ПРЕДМЕТ_ПРОГРАММА с макросом. Откройте форму в режиме конструктора щёлкните на кнопке Свойства вкладки События. В качестве значения свойства открытия выберите имя макроса Двоечники. М1.

Рис. 5.4. Окно свойств формы ПРЕДМЕТ со ссылкой на макрос в событии Открытие.

Для записи имени макроса группы используется следующий синтаксис: имяГруппы Макросо. имя Макроса.

Для запуска макроса М2 выберите элемент управления поля КП формы ПРЕДМЕТ_ПРОГРАММА и установите в качестве значения свойства события Двойное начатие кнопки значение Двоечники. М2 (рис.5.5). Событие Двойное нажатие кнопки для элемента управления КП возникает если, пользователь дважды быстро щелкает левой кнопкой мыши в тот момент, когда курсор мыши установлен на поле КП или присоединенной к нему надписи.

Рис. 5.5. Окно свойств поля КП со ссылкой на макрос в событии Двойное нажатие кнопки.

Чтобы проверить работу макросов, откройте форму ПРЕДМЕТ_ПРОГРАММА. На экране будет отображён результат работы М1 – открытые формы Двоечники и ПРЕДМЕТ. Выполните двойной щелчок на поле с кодом предмета в форме ПРЕДМЕТ_ПРОГРАММА. К форме Двоечники был применён фильтр, в котором в качестве условий отбора записано [КП] = Forms![Предмет]![КП], и теперь в ней отображаются только записи со знанием кода предмета из формы ПРЕДМЕТ. Чтобы макрос М2 выполнялся, когда пользователь, работая в форме ПРЕДМЕТ_ПРОГРАММА входит в поле КП:

Ø  Удалить связь макроса М2 с событием Двойное нажатие кнопки для элемента управления КП (рис. 5.5).

Ø  Установите его связь с событием Вход этого же элемента управления.

Ø  Событие Вход наступает при перемещении курсора в поле КП, при переходе к другой записи, если текущим является поле КП. Кроме того, при открытии формы наряду с событием Открытие для текущего элемента управления формы наступает событие Вход. Если в списке на форме, определяющем последовательность перехода по её полям при нажатии клавиши < Tab> на первом месте находится поле КП, то оно при открытии формы становится текущим элементом управления. Поэтому при открытии формы выполняются оба макроса.

Макрос, обеспечивающий переход от диалоговой работы с базой данных к выбору отчётов.

Пусть необходимо в сеансе ввода данных об успеваемости подготавливать и выводить отчёты о полученных студентами двойках и пятёрках.

Для накопления данных используются таблицы ДВОЕЧНИК и ОТЛИЧНИК. Интерфейс с пользователем осуществляется через форму Ведомость успеваемости (рис. 5.6).

· Создайте таблицы ДВОЕЧНИК и ОТЛИЧНИК которые включают поля НГ (номер группы), НС (номер студента в группе), КП (Код предмета) и ФИО студента. Таблицы имеют составной ключ НГ+НС+КП. В таблице невозможно повторно ввести записи с одинаковыми значениями ключа. По таблице «ДВОЕЧНИК» создайте мастером однозаписивую форму ДВОЕЧНИК. По таблице «ОТЛИЧНИК» создайте мастером однозаписивую форму ОТЛИЧНИК.

· Ввод данных о результатах экзаменов производится через форму Ведомость успеваемости (рис. 5.6).

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

Рис. 5.6. Форма для ввода данных об успеваемости.

Создание группы макросов:

Для решения задачи задайте группу макросов Списки успеваемости: макрос (рис. 5.7) включающую макросы, перечисленные ниже.

Рис. 5.7. макрос формирования отчетов о двоечниках и отличниках при вводе оценок с экзаменационной ведомости.

Ø  Формирование, заполняющие таблицы ДВОЕЧНИК и ОТЛИЧНИК через соответствующие однозаписивые формы.

Ø  Отчёт, распечатывающий соответствующие отчёты по завершении ввода данных об успеваемости.

Ø  Начало, открывающий формы ДВОЕЧНИК и ОТЛИЧНИК, а так же очищающий таблицы перед формированием новых отчётов. Это позволяет в очередном сеансе ввода данных в таблицу УСПЕВАЕМОСТЬ для одной или нескольких групп студентов по одному или несколько предметов выдать отчёты для этих групп, а так же использовать макрос при корректировках таблицы. Отчёты будут содержать данные только по результатам одного сеанса ввода.

В первом макросе с именем Начало введите макрокоманды Открыть Форму, которые используются для заполнения таблиц ДВОЕЧНИК и ОТЛИЧНИК во втором макросе. Непосредственно за макрокомандой ОткрытьФорму введите ВыполнитьКоманду. По этой макрокоманде для текущего объекта выполняется команда стандартного меню, заданная её аргументом макрокоманды. Выполнение этой макрокоманды эквивалентно выбору пользователем указанной команды в стандартном меню Access. Выберите в качестве аргумента ВыделитьВсеЗаписи. В качестве аргумента второй макрокоманды ВыполнитьКоманду выберите Delete (Удалить). Действия этих макрокоманд для открытой формы равносильны выполнению соответствующих команд в меню Правка. Таким способом осуществляется удаление всех записей в таблицах ДВОЕЧНИК и ОТЛИЧНИК.

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

5. Для выполнения этого макроса в момент, когда пользователь открывает форму Ведомость успеваемости, в свойства формы в строку события Открытие введите имя макроса Списки успеваемости.Начало. В результате этого макрос будет выполняться один раз в начале сеанса ввода данных.

6. Второй макрос Формирование должен выполняться при обновлении поля ОЦЕНКА в записях формы Ведомость успеваемости. Свяжите этот макрос со свойством события После обновления поля ОЦЕНКА, введя в строку свойства имя этого макроса Списки успеваемости. Формирование.

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

НаЗапись {Тип объекта – Форма; Имя объекта – Двоечник; Запись - Новая }

8. Следующие макрокоманды должны заполнить поля новой записи. Это позволяет сделать макрокоманда ЗадатьЗначение, которая присвоит полям новой записи формы ДВОЕЧНИК значение из полей текущей записи формы Ведомость успеваемости. Аргумент макрокоманды Элемент определяется поле, которому должно присваиваться значение. Аргумент Выражение определяет поле, из которого выбирается это значение. Выражение определяет поле, из которого выбирается это значение. Выражение не должно начинаться со знака равенства.

Для ссылки на поле или элемент управления в форме, из которой вызывается макрос, достаточно указать только имя элемента. Для ссылки на другие объекты должен использоваться полный синтаксис.

9. В аргументе Элемент запишите [Формы]! [ДВОЕЧНИКИ]![имя поля]. В первой макрокоманде укажите поле НГ, в следующих НС, КП и ФИО.

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

ЗадатьЗначение для поля НГ:

Элемент - [Формы]! [Двоечник]![НГ]

Выражение - [НГ]

ЗадатьЗначение для поля НС:

Элемент - [Формы]! [Двоечник]![ НС]

Выражение - [НС]

ЗадатьЗначение для поля КП:

Элемент - [Формы]! [Двоечник]![ КП]

Выражение - [КП]

ЗадатьЗначение для поля ФИО:

Элемент - [Формы]! [Двоечник]![ ФИО]

Выражение - [ФИО]

10. Поскольку присваемые значения выбираются из полей текущей записи подчиненной формы УСПЕВАЕМОСТЬ:подчиненная форма, в аргументе Выражение макрокоманды ЗадатьЗначение запишите только имена этих полей НГ НС КП и ФИО соответственно.

11. Запишите аналогичный набор макрокоманд для формирования записей об отличной оценке.

12. Макрокоманды формирования записи о двоечнике должны выполняться только в том случае, если в поле ОЦЕНКА введена двойка, а макрокоманды формирования записи об отличной оценке – если в поле ОЦЕНКА введена пятерка. Чтобы анализировать оценку, введенную в форме Ведомость успеваемости, и в зависимости от результата формировать новую запись в одной из таблиц ДВОЕЧНИКИ и ОТЛИЧНИКИ, организуйте выполнение различных макрокоманд в зависимости от результата проверки условия (рис.5.8).

Рис. 5.8. Блок – схема выполнения макроса с условиями.

13. Прежде всего, дополните окно макроса столбцом Условие, нажав соответствующую кнопку на панели инструментов.

14. В строку первой макрокоманды НаЗапись в столбец Условие введите логическое выражение [ОЦЕНКА]=2. Тепер, если выражение примет значение True (Истина), т. е. при вводе двойки в поле ОЦЕНКА будет выполняться эта макрокоманда и все следующие за ней, вплоть до макрокоманды с новым условием.

15. Чтобы при значении выражения False (Ложь) не выполнялась группа макрокоманд, формирующая запись о двойке, проставьте в столбик условий этих макрокоманд многоточие (…).

Если логическое выражение в условии принимает значение False, не выполнялся макрокоманда с условием и следующие за ней макрокоманды с многоточием в условии, то следующей будет выполняться макрокоманда с новым условием или с пустой ячейкой условия (см. блок – схему, предоставленную на рис. 5.8).

16. В строку второй макрокоманды НаЗапись в столбец Условие введите логическое выражение [ОЦЕНКА]=5, а в других макрокомандах этой группы проставьте многоточие (…). Введенные в столбец условия позволят пропустить выполнения этих макрокоманд, если введенная оценка отличается от пятерки.

Благодаря условиям в макросе, можно выполнить формирование записи при вводе в поле ОЦЕНКА двойки или пятерки. При вводе других оценок ни одна макрокоманда макроса не будет выполняться.

17. Третий макрос Отчеты должен выполняться при закрытие пользователем формы Ведомость успеваемости. Введите в свойствах формы в строке события Закрытие имя этого макроса Списки успеваемости.Отчёт. Создайте отчеты для таблиц Двоечник и Отличник с помощью мастера(см. рис. 5.9)

Рис.5.9. Отчет, сформированный на основе формы Двоечник.

18. Введите в этот макрос макрокоманды Закрыть для форм ДВОЕЧНИК и ОТЛИЧНИК, выбрав в строке аргументов Сохранение значит Да. Выполнение этих макрокоманд позволит сохранить в таблице последнюю сформированную запись и, таким образом, не потерять их в отчетах.

19. Для вывода отчетов на экран в режиме предварительно просмотра используйте макрокоманду ОткрытьОтчет. Имя отчета и режим ее открытия указан в аргументах макрокоманды. Если нет необходимости просматривать отчет, можно сразу получить печатный документ, установив в аргументе режим печати. Открытый для просмотра отчет будет отображаться на экране до тех пор, пока пользователь не закроет его.

Для проверки макроса откройте форму Ведомость успеваемости , введите новые записи, закройте форму. На экране отобразятся отчеты ОТЛИЧНИК и ДВОЕЧНИК. На рис. 5.9 предоставлен отчет о неудовлетворительных оценках, полученных студентами 101 группы по предметам.

Рис. 5.10. Форма для организации диалога при выполнении макроса

Организация диалога в макросе

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

Используйте в качестве диалогового окна вспомогательную форму, на которой создайте поле со списком значений. Заполните список именами отчетов, выполнение которых может запросить пользователь, а также предусмотрите отказ от вывода отчетов. На рис. 5.10 представлена форма Диалог, в которой поле со списком называется ПолеСоСписком1. Измените группу макросов Списки успеваемости : макрос, как показано на рис. 5.11. Выделите макрокоманды открытия отчетов в отдельный макрос Отчет1, который позволяет пользователю организовать работу с формой Диалог.

Текстовые константы, с которыми сравниваются введенные значения, заключаются в кавычки.

Рис 5.11 Макрос вывода выбранного пользователем отчёта.

3. В форме Диалог для элемента ПолеСоСписком1 выберите в строке свойства После обновления значение Списки успеваемости. Отчет1.

Откройте форму Ведомость успеваемости, введите несколько записей об оценках полученных студентами, в том числе двойках и пятёрках. Закройте формы. Появится окно формы Диалог. Для проверки работоспособности макроса Отчёт 1 выберите в форме Диалог одно из значений. Для распечатки отчёта в любое время откройте форму Диалог, выберите нужный отчёт в списке, тогда макрос Отчёт 1 выведет выбранный отчёт на экран. Для вывода вопросов о необходимости печать отчёты можно использовать функцию MsgBox(). Заменитt макрокоманды Отчёт 1 так, как показано на рис 5.12.

Рис 5.12 Использование функции в условии макрокоманды

Функция MsgBox () выведет на экран окно, содержащее сообщение, подождёт пока пользователь нажмёт кнопку и возвратит значение, указывающее, на какую кнопку он нажал. Текст сообщения формируется первым аргументом функции, тип окна число и название кнопок – вторым аргументом, текст заголовка окна – третьим аргументом. Аргументы, заданные в примере, приводят к выводу окна. Функция MsgBox () возвращает значение 6 при нажатии в окне сообщения кнопки Да и значение 7 при нажатии кнопки нет.

Управление отображением элемента в форме.

В форме Ведомость успеваемости при просмотре данных об оценках полученных студентами, если в поле ОЦЕНКА стоит 2,то должен появляться текст Двоечник. В этом случае нужно сделать следующее:

Создайте в примечании подчинённой формы Ведомость успеваемости элемент управления – Надпись со значением Студент: Предположим этот элемент, называется Надпись 25. Создайте макрос, в котором свойству Caption на экране будет присваиваться значение «двоечник» при просмотре записи с двойкой. Для этого включите в макросе столбец Условие. В этот столбец введите логическое выражение ОЦЕНКА=2. В столбце Макрокоманда выберете макрокоманду ЗадатьЗначение. В строку аргумента Элемент введите ссылку на свойство Caption элемента управления Надпись25:

[Надпись25].[Caption]

В строку аргумента Выражение введите значение этого свойства – «двоечник».

Заметим, что в ссылке Надпись25.Visible нет необходимости указать имя подчиненной формы поскольку она является текущей при получении управления макросом.

чтобы при переходе к записи с другой оценкой надпись Двоечник, изменялась введите вторую макрокоманду ЗадатьЗначение. В условии этой макрокоманды введите ОЦЕНКА= 3, а в аргументе Выражение укажите "троечник" (рис. 5.13)

рис.5.13. Макрос, изменяющий значения свойства события.

Сохраните макрос под именем Сигнал. Для связи макроса с подчиненной формой УСПЕВАЕМОСТЬ:подчиненная форма в ее свойствах на вкладке События в строку Текущая запись запишите имя макроса Сигнал, выбрав его из списка.

рис.5.14. Макрос изменяет надпись

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

Контрольные вопросы

1.  Как выполнить из макроса команду стандартного меню Access

2.  Чем определяется последовательность выполнения макрокоманд.

3.  какая макрокоманда позволяет изменить текущую запись в объекте

4.  Должен ли объект, в котором меняется текущая запись, быть текущим

5.  какая макрокоманда позволяет изменить значение поля записи

6.  можно ли в логическом выражении условия использовать функцию

7.  как записывается ссылка на элемент управления на форме.

8.  какие аргументы имеет макрокоманда ОткрытьЗапрос.

9.  какая макрокоманда позволяет из макроса вывести на экран сообщение.

10.  как организовать выполнение макроса при открытии формы.

11.  как записывается ссылка на макрос в группе макросов.

Литература

1.  Джонс. Access 97: книга ответов - СПб: Питер, 1998

2.  MS Access 97: наглядно и конкретно - .: Издательский отдел «Русская редакция» ТОО «Chanel Trading Ltd», 1997

3.  Access 97 для занятых – СПб: Питер, 2000

4.  MS Access 2000: учебный курс – СПб: Питер,2000

5.  Разработка приложений в Access 97 с подлиннике. BHV – Санкт Петербург, 1998

6.  , MS Access 2000 за 30 занятий. –СПб: БХВ – Санкт Петербург, 2000

7.  Киммел, Пол. Освой самостоятельно программирование для MS Access 2000 за 24 часа. – М.: Издательский дом «Вильямс», 2000

8.  методические указания для студентов по выполнению практических занятий. Часть4. 2003.

9.  Эффективная работа с MS Access 97 – СПб: Питер Ком, 1999.-976.