Макросы в Access. Понятие макроса



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

Большинство макрокоманд, из которых составляются макросы, имеют аргументы. Например, макрокоманда Открыть таблицу имеет аргумент Имя таблицы (т.е. имя таблицы, которую требуется открыть), а также некоторые другие аргументы, задающие режим открытия таблицы. Некоторые макрокоманды не имеют аргументов (например, макрокоманда Свернуть просто свертывает текущее окно). Имеется также специальная макрокоманда Выполнить команду; ее аргументом является название одного из элементов меню (на английском языке). Поэтому команда Выполнить команду означает выполнение указанного элемента меню.

Окно описания макроса (вызываемое кнопкой Создать на вкладке Макросы) содержит две основные колонки: Макрокоманда (в этой колонке вводятся макрокоманды, т.е. фактически описывается макрос) и Примечание (комментарий). Если макрос должен выполняться при определенном условии, то используется также дополнительная колонка Условие; эта возможность будет рассмотрена в разделе 4.

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

Пример создания макроса

Одно из самых простых и распространенных применений макросов – одновременное открытие нескольких элементов базы данных (таблиц, форм и т.д.) в желаемом виде.

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

Макрос, реализующий эти действия, создается следующим образом.

1. Перейти на вкладку Макросы. Нажать кнопку Создать.

2. В первой строке колонки Макрокоманды ввести макрокоманду Открыть таблицу. Указать аргументы этой макрокоманды: Имя таблицы – Объекты, Режим – Таблица, Режим данных – Только чтение (чтобы исключить внесение изменений в таблицу).

3. В следующей строке ввести макрокоманду Открыть запрос. Указать ее аргументы: Имя запроса - Стоимость контрактов по заказчикам, Режим – Таблица, Режим данных – Только чтение.

4. В следующей строке ввести макрокоманду Выполнить команду. В качестве ее аргумента выбрать команду РядомГоризонтально (в некоторых версиях - TileHorizontally). Это требуется для того, чтобы окна, открытые предыдущими макрокомандами, оставались на экране (друг над другом).

5. Закрыть окно макроса. На запрос о сохранении внесенных изменений ответить Да. Указать имя макроса: Просмотр информации об объектах.

6. Чтобы выполнить макрос, необходимо выделить его отметку и нажать кнопку Запуск (или просто дважды щелкнуть по отметке макроса). Запрос и таблица выводятся на экран.

Полученное представление данных имеет недостаток: на экране (в нижней части) остается главное окно базы данных. Желательно сворачивать его, прежде чем выводить на экран два других окна (таблицу и запрос). Для этого внесем изменения в макрос.

1. Перейти на вкладку Макросы. Выделить макрос Просмотр информации об объектах. Нажать кнопку Конструктор.

2. Поместить курсор в первую строку (т.е. в ту строку, перед которой требуется вставить новую макрокоманду). Выбрать команду Вставка – Строки.

3. В появившейся пустой строке (первой) ввести макрокоманду Свернуть. Аргументов у этой макрокоманды нет.

4. Сохранить макрос. Закрыть его (выйти из режима конструктора).

5. Выполнить макрос.

Вызов макроса нажатием кнопки в окне формы

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

· сначала создать макрос, затем – кнопку (в окне формы) для его вызова. Подключение макроса к кнопке в этом случае выполняется по подсказкам, выдаваемым системой Access;

· сначала создать кнопку, затем – макрос, затем подключить макрос к кнопке (самостоятельно).

В данной работе рассматривается второй (более сложный) способ.

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

Добавление кнопки в форму Объекты для просмотра запроса выполняется следующим образом.

1. Перейти на вкладку Формы. Открыть форму Объекты в режиме Конструктора.

2. При необходимости расширить примечание формы таким образом, чтобы в нем могла поместиться кнопка.

Примечание. Если примечание формы отсутствует в окне формы, то следует выбрать команду Вид – Заголовок/примечание формы.

3. Из панели элементов выбрать элемент Кнопка. Переместить курсор в примечание формы и щелкнуть мышью в желаемом месте.

Примечание. Если панель элементов отсутствует на экране, то следует выбрать команду Вид – Панель элементов.

4. На экране появляется окно Создание кнопок, в котором предлагается ввести описание действия создаваемой кнопки. Так как макрос, который должен вызываться при нажатии кнопки, еще не создан, то пока ввести такое описание невозможно. Поэтому следует нажать Отмена.

Примечание. Если бы макрос, подключаемый к кнопку, уже был создан, то следовало бы выполнить следующее. В списке Категории выбрать Разное, в списке Действия – Выполнить макрос, и нажать Далее. Затем выбрать имя макроса, выполняемого при нажатии кнопки, и нажать Далее. Выбрать переключатель Текст; указать текст подписи, помещаемой на кнопке (например, Контракты по заказчикам), и нажать Далее. Затем нажать Готово.

5. В примечании формы появляется кнопка (с отметкой Кнопка и некоторым номером). Сохранить изменения формы. Закрыть форму.

Макрос для просмотра запроса создается следующим образом.

1. Перейти на вкладку Макросы. Нажать кнопку Создать.

2. Ввести макрокоманду Открыть запрос. Указать ее аргументы: Имя формы - Стоимость контрактов по заказчикам, Режим – Таблица, Режим данных – Только чтение.

3. Закрыть окно макроса, сохранив его под именем Просмотр стоимостей.

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

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

1. Перейти на вкладку Формы. Открыть форму Объекты в режиме Конструктора.

2. Щелкнуть на созданной кнопке правой кнопкой мыши и выбрать команду Свойства. На вкладке Макет в строке Подпись ввести текст подписи, помещаемой на кнопке, например, Контракты по заказчикам. На вкладке События в строке Нажатие кнопки выбрать имя вызываемого макроса: Просмотр стоимостей. Закрыть окно свойств.

3. При необходимости расширить кнопку, чтобы подпись была видна полностью.

4. Сохранить изменения формы. Закрыть форму.

5. Открыть форму для просмотра (кнопкой Открыть). Убедиться, что при нажатии кнопки Контракты по заказчикам на экран выводится запрос Стоимость контрактов по заказчикам.


Дата добавления: 2019-02-26; просмотров: 365; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!