Главная страница
Навигация по странице:

  • Рисунок 10 - окно описания макроса

  • Пример простого макроса.

  • Рисунок 11- создание макроса для обработки события «Нажатие кнопки»

  • Составные макросы.

  • Пример составного макроса.

  • Рисунок 12 - описание контекстного меню

  • Рисунок 13- составной макрос

  • Рисунок 14 - пользовательское контекстное меню

  • Условия в макросах и обработка ошибок

  • Пример применения макроса

  • Отчет по лабораторной работе Базы данных. 8 Лаба БД. 8 лаб работа Пользовательский интерфейс


    Скачать 3.03 Mb.
    Название8 лаб работа Пользовательский интерфейс
    АнкорОтчет по лабораторной работе Базы данных
    Дата15.12.2022
    Размер3.03 Mb.
    Формат файлаdocx
    Имя файла8 Лаба БД.docx
    ТипЛабораторная работа
    #847631
    страница4 из 6
    1   2   3   4   5   6

    Разработка макросов


    Команды СУБД Access называются макрокомандами. Программа, записанная на языке макрокоманд СУБД, называется макросом. Макросы хранятся в базе данных и образуют отдельный класс объектов. Список макрокоманд Access см. в Приложении А.

    Для перехода в режим создания макроса следует выполнить команду ленты «Создание / Другие / Макрос». Для создания или редактирования макроса, который хранится в форме и связан с каким-то событием формы или ее элемента, нажмите на кнопку с многоточием в свойствах соответствующего элемента и события (рис.9).

    Окно описания макроса состоит из двух основных частей: верхняя часть содержит текст программы в виде таблицы, в строчках которой записаны макрокоманды. Нижняя половина окна позволяет настроить параметры текущей макрокоманды. В правом нижнем углу выводится краткая подсказка о текущей макрокоманде, более подробные сведения можно получить, нажав клавишу F1/помощь (рисунок 10).



    Рисунок 10 - окно описания макроса

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

    Пример простого макроса. На рисунке 11 показан пример создания на форме текстовой надписи, по щелчку мыши открывающей форму «Справка о программе».




    6

    5



    7


    Рисунок 11- создание макроса для обработки события «Нажатие кнопки»

    Сначала поместим новый элемент «Подпись» на главной форме (1), в строке его свойства «Нажатие кнопки» выберем «…» (2), в окне построителя выберем «Макросы» (3) и нажмем кнопку «ОК» (4). Автоматически откроется окно создания нового макроса, где выберем команду «ОткрытьФорму» (5), введем имя открываемой формы, режим просмотра и окна (6). Сохранив полученный макрос и закрыв его окно, мы увидим в свойстве надписи текст «[Внедренный макрос]». Это означает, что созданный макрос не является автономным объектом, а привязан к надписи на текущей форме и хранится вместе с другими программными объектами этой формы. Для проверки работы макроса откроем форму и щелкнем по надписи «Помощь»: в отдельном всплывающем окне должна открыться форма «Справка о программе» (7).

    Составные макросы. Иногда группу взаимосвязанных макросов удобно хранить в виде одного составного макроса. Например, если один объект реагирует на несколько разных событий, либо к одной форме относится меню из нескольких пунктов, то вместо создания нескольких макросов для каждого события можно создать группу из этих же макросов. Макросы в группе выполняются независимо друг от друга.

    Для разработки составного макроса нужно в окне макроса выбрать команду ленты «Показать или скрыть / Имена макросов». В результате в таблице описания макроса появится еще один столбец «Имя макроса». В начале каждого макроса в этом столбце следует ввести уникальное имя данного макроса. Для ссылки на макрос, входящий в группу, указывают составное имя: ИмяГруппы.ИмяМакроса.

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

    В свойстве главной формы «Другие / Контекстное меню» введем имя макроса «Меню». Затем создадим новый макрос командой ленты «Создание / Другие / Макрос» и введем одну команду «Добавить меню» с параметрами «Название меню» = «Помощь», «Имя макроса» = «менюПомощь» (рисунок 12).



    Рисунок 12 - описание контекстного меню

    Сохраним этот простой макрос и создадим новый составной макрос с именем «менюПомощь» (рисунок 13).




    Рисунок 13- составной макрос

    В качестве имен макросов, входящих в составной макрос, будем использовать названия разделов справки. Первый раздел реализуется с помощью отчета «Руководство пользователя», а второй – с помощью формы «Справка о программе». Для проверки работы макроса откроем главную форму и щелкнем правой клавишей мыши в любом ее месте (рисунок 14).


    Контекстное меню



    Рисунок 14 - пользовательское контекстное меню

    Если требуется создать многоуровневое меню, то в состав макрокоманд меню первого уровня нужно включить команду «ДобавитьМеню» и указать для нее новый составной макрос, описывающий это подменю. Не рекомендуется создавать более двух уровней меню, так как ими неудобно пользоваться.

    Условия в макросах и обработка ошибок

    Обычно макрокоманды выполняются в порядке следования, но в макросе можно описывать и разветвляющиеся процессы, когда одна или несколько команд выполняются, если истинно заданное логическое выражение. Столбец для ввода логических выражений открывается в шаблоне макроса с помощью команды ленты «Показать или скрыть / Условия». Если при заданном условии должны выполниться несколько макрокоманд, то для первой вводится логическое выражение, а для остальных - многоточие в столбце "Условие».

    Например, рассмотрим встроенный макрос для кнопки «Удалить запись», который генерируется автоматически мастером кнопок (рисунок 15).



    Рисунок 15- макрос с условиями


    В 4-ой команде макроса выполняется проверка того, что текущая запись в форме не является новой (новая запись еще не существует в БД и ее нельзя удалить). Если условие выполняется, то команда удаления выполняется.

    В 5-ой команде проверяется условие: если текущая запись – новая и она не содержит данных, то выдается звуковой сигнал.

    В 6 команде проверяется условие: если текущая запись – новая и пользователь начал вводить, но не сохранил данные, то выполняется команда «Отменить ввод», которая очищает все введенные значения.

    В 7-ой команде проверяется значение встроенной переменной [MacroError], которая содержит результат выполнения команд макроса: если какая-либо из них вызвала ошибку в работе БД, то переменная содержит значение, отличное от нуля. В этом случае выполняется макрокоманда «Сообщение», позволяющая вывести окно с информацией о характере ошибки.

    Первая команда макроса «При ошибке» заставляет СУБД при любой ошибке при работе макроса переходить к следующей команде (параметр = «Далее»). Вторая и третья команды позволяют переключить курсор на предыдущий элемент управления и очистить переменную “MacroError” .

    Для поиска ошибок в сложных макросах можно использовать пошаговое выполнение (команда ленты «По шагам» в режиме конструктора макросов).

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

    Откройте в режиме конструктора отчет, использующий в качестве источника записей запрос с параметром. В окне свойств выберите событие отчета «Отсутствие данных», щелкните мышью по кнопке «…» и выберите построитель макросов. В окне макроса введите следующие команды:

    Макрокоманда

    Аргументы

    Сообщение

    «Документ не содержит данных»; Да; Информационное;

    ОтменитьСобытие




    Закройте окно макроса, теперь в свойстве «Отсутствие данных» появится текст «[Встроенный макрос]». Чтобы проверить его работу, откройте отчет в рабочем режиме и введите такое значение параметра, при котором записи не будут найдены. Вместо вывода пустых листов на экране появится сообщение «Документ не содержит данных».
    1   2   3   4   5   6


    написать администратору сайта