Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Именованный макрос



Кроме макросов данных, связанных с отображёнными на вкладках действиями, в Access 2010 могут быть созданы именованные макросы данных. Отличие от макросов данных в том, что в последних могут определяться параметры. Значение параметров присваивается в вызывающем макросе.

Чтобы создать именованный макрос данных, в области навигации слева дважды щёлкните имя таблицы, к которой необходимо привязать макрос. На вкладке Таблица в группе Именованные макросы нажмите кнопку Именованный макроси выберите команду Создать именованный макрос. В Microsoft Access откроется конструктор макросов (см. Рис. 28).

Рис. 28. Список команд именованного макроса

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

При создании именованного макроса по умолчанию ему присваивается имя МакросДанных1, при обращении к нему дополняется именем таблицы, в которой он создан, т.е. полное имя: ИмяТаблицы.МакросДанных1.

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

Командой Переименование и удаление макросов открывается окно диспетчера макросов данных (см. Рис. 29). В нём перечислены все таблицы базы, привязанные к ним макросы, именованные макросы.

Рис. 29. Список таблиц, содержащий макросы данных

Ещё одна возможность, поддерживаемая именованными макросами данных — это возможность передачи параметров. Параметрычасто используются для повышения производительности базы данных, поскольку они позволяют разработчикам и пользователям принудительно ограничить наборы данных перед выполнением макроса. Это позволяет повысить скорость работы макросов, снизить нагрузку на серверы баз данных и уменьшить сетевой трафик. Параметры также обеспечивают дополнительную гибкость, поскольку позволяют повторно использовать один и тот же макрос без изменений. Чтобы добавить параметры в именованный макрос данных, дважды щёлкните таблицу, к которой необходимо привязать макрос. На вкладке Таблица в группе Именованные макросы щёлкните раскрывающийся список Именованный макрос и выберите команду Создать именованный макрос. В верхней части конструктора макросов (см. Рис. 30) нажмите кнопку Создать параметр.

Рис. 30. Команда "Создать параметр" в конструкторе макросов

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

В поле Имя введите уникальное имя для параметра. Это имя будет использоваться для указания параметра в выражениях.

При необходимости введите описание параметра в окне Описание. Рекомендуется сделать это, так как позже при использовании параметра текст описания будет отображаться в виде подсказки. Это поможет запомнить назначение параметра.

Пример 2‑6: В таблицу Журнал Изменений записывать информацию о записях из таблицы Город, в которых изменено значение поля Численность, также при внесении изменений в таблице Город в поле Дата исправления записывать дату изменения.
Решение Для решения этой задачи необходимо создать таблицу Журнал изменений: Запрос Город: SELECT Город.[номер записи], Город.Город FROM Город; Рис. 31. Таблица Журнал Изменений
  Шаг 1. При открытой таблице Город создаём именованный макрос, выбрав соответствующую команду на вкладке Работа с таблицами | таблица. По умолчанию ему присваивается имя Город.МакросДанных1. В макросе для получения из вызывающего макроса значений номера записи, старой и новой численности создаём соответствующие параметры. Далее
   

Рис. 32. Именованный макрос данных с параметрами

  выбираем макрокоманду Создать запись (см. Рис. 32) с аргументом Журнал Изменений в поле Создать запись в. В поле Псевдоним в этом примере ничего не записываем. Далее шесть раз выбираем макрокоманду ЗаписатьПоле для присвоения значений полям таблицы Журнал Изменений. Сохраняем и закрываем макрос.
  Шаг 2. В открытой таблице Город щёлкаем по кнопке После обновления (вкладка Работа с таблицами | Таблица). В открывшееся окно макроса данных вводим макрокоманды, выбирая их из каталога и заполняем аргументами, как указано на Рис. 33 (стр. 39). В блоке Если в логическом выражении условие проверяется с помощью функции Updated(“имя поля”) проверяется изменялось ли значение в поле Численность. При истинном значении выражения макрокомандой ЗапускМакросаДанныхзапускается на выполнение созданный ранее именованный макрос данных Город.МакросДанных1, в блоке Параметрынажать сначала Обновить параметры в нижнем правом углу, затем присвоить каждому параметру значения из обновлённой записи таблицы Город. Закрыть макрос, сохранив все изменения.

Рис. 33. Макрос данных для обновления поля в записях таблицы Город

  Шаг 3. Для внесения в поле Дата исправления таблицы Город значения при обновлении создаём макрос данных После вставки для таблицы Журнал Изменений (см. Рис. 34).

Рис. 34. Макрос данных для обновления поля Дата исправления таблицы Город

  Шаг 4. После сохранения всех макросов произведём изменения в поле Численность таблицы Город. В поле Дата исправления появится текущая дата, а в таблицу Журнал Изменений внесена новая запись. Обновления в таблицы вносится вне зависимости от того открыты они или нет, при открытой таблице может понадобиться обновить её отображение, например закрыв и повторно открыв. Результат работы макросов данных с параметрами представлен на Рис. 35 и Рис. 36.

Рис. 35. Внесение исправления в таблицу Город

Рис. 36. Новая запись в таблице Журнал Изменений

При отладке макросов данных доступно не так много возможностей, как при отладке программного кода. Пошаговое выполнение кода и использование окна сообщений не поддерживается. Однако для поиска ошибок в макросах данных можно воспользоваться таблицей «Журнал приложений» и макрокомандами OnError, RaiseError и LogEvent. Таблица «Журнал приложений» является системной (USysApplicationLog) и по умолчанию не отображается в области навигации. При возникновении ошибки в макросе данных можно просмотреть сведения в таблице «Журнал приложений» и определить, что произошло.

Чтобы вывести таблицу «Журнал приложений», откройте вкладку Файл (см. Рис. 37), чтобы переключиться в представление Backstage. На вкладке Сведения нажмите кнопку Просмотр таблицы журнала приложения. Если кнопка Просмотр таблицы журнала приложения не отображается, это означает, что таблица «Журнал приложений» для текущей базы данных ещё не создана. При записи в журнал какого-либо события, например с помощью макрокоманд LogEvent или RaiseError, эта кнопка появится на вкладке Сведения.

Рис. 37. Вкладка Файл

Рис. 38. Таблица Журнал приложений





Дата публикования: 2014-11-02; Прочитано: 2567 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...