Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПособиеAccess.doc
Скачиваний:
10
Добавлен:
15.04.2015
Размер:
598.02 Кб
Скачать

2.5. Работа с макросами

Одной из наиболее важных особенностей форм и отчетов MS Access является генерация событий, на которые можно отреагировать с помощью макросов или процедур VBA. Например, в окне свойств любой формы или элемента управления можно увидеть такие свойства, как Загрузка, До обновления, Закрытие и подобные им. Эти свойства ссылаются на события, в ответ на которые можно определить некоторые действия. Большинство действий можно выполнить с помощью макросов. Access также позволяет обрабатывать события с помощью процедур VBA, хранящихся в модулях форм и отчетов или общих модулях базы данных. Макросы могут выполнять более 40 различных действий в ответ на события.

Создание простого макроса

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

  1. в окне базы данных выбрать вкладку Макросы и нажать кнопку Создать;

  2. в окне макроса выбрать из раскрывающегося списка столбца «Макрокоманда» необходимую макрокоманду (например, Открыть форму);

  3. задать аргументы этой макрокоманды (например, Имя формы, Режим, Имя фильтра, Условие отбора, Режим данных, Режим окна);

  4. сохранить макрос под некоторым именем.

Рис. 11. Окно конструктора макроса.

Действия, выполняемые с помощью макросов

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

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

  3. Выполнение действий в зависимости от значений полей в базе данных, форме или отчете: запуск других макросов, процедур VBA; прерывание текущего макроса или всех макросов, отмена события, запустившего макрос; выход из приложения.

  4. Установка значения любого элемента управления формы или отчета. Эмуляция работы с клавиатурой и передача вводимых с клавиатуры данных в системные окна диалога.

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

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

  7. Выполнение любой команды любого меню Access.

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

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

  10. Переименование любого объекта базы данных, копирование выбранного объекта в текущую или другую базу данных Access. Сохранение или удаление объектов из текущей базы данных. Импорт, экспорт и связывание таблиц из других баз данных, импорт и экспорт электронных таблиц и текстовых файлов.

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

Проверка работы макроса

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

  • Если макрос зависит от какой-либо формы или отчета, его нужно связать с соответствующим событием и запустить при возникновении этого события.

  • Access предоставляет возможность проверить работу сложного макроса, состоящего из нескольких макрокоманд в пошаговом режиме. Для этого необходимо открыть нужный макрос в режиме конструктора и выбрать команду меню Запуск / По шагам. Теперь после запуска макроса Access будет открывать окно диалога «Пошаговое исполнение макроса» перед выполнением каждого шага. В этом окне отображаются имя макроса, название, условия выполнения и аргументы макрокоманды.

Задание условий выполнения макрокоманд

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

Условие

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

1><[Forms]![ВводПароля]![Пароль]

Сообщение

1=[Forms]![ВводПароля]![Пароль]

Открыть форму

Закрыть форму

Условие «многоточие» () распространяет действие стоящего выше условия. Формат ссылки на элемент управления открытой формы имеет вид:

[Forms]![ИмяФормы]![ИмяЭлементаУправления],

где Forms – это указание на семейство форм, ИмяФормы – имя открытой формы, ИмяЭлементаУправления – имя соответствующего элемента управления (поля, поля со списком, списка, флажка и т. д.).

Группы макросов

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

Поэтому макросы объединяют в группы, например:

  • группы макросов для каждой формы (отчета);

  • группы макросов для каждого типа операций (пример: группа макросов для всех макрокоманд ОткрытьФорму, используемых в базе данных).

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

ИмяГруппы.ИмяМакроса,

где ИмяГруппы – имя группы макросов, ИмяМакроса – имя макроса в группе.

Связывание макросов с формами

Для связывания макроса с формой нужно выполнить следующие действия.

  1. Открыть форму в режиме конструктора.

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

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

  4. В раскрывающемся списке для строки, соответствующей выбранному событию (например, нажатию кнопки), выбрать имя нужного макроса.

  5. Сохранить изменения в форме.

Группы основных событий, которые могут быть связаны с объектами MS Access

  1. Открытие и закрытие форм и отчетов.

  2. Изменение данных.

  3. Смена фокуса.

  4. События работы с клавиатурой и мышью.

  5. Печать.

  6. Включение специального меню для форм, отчетов или приложения.

  7. Отслеживание ошибок.

  8. Истечение промежутка времени.

Установка параметров запуска базы данных

Используется команда Сервис / Параметры запуска, вызывающая диалоговое окно «Параметры запуска», в котором нужно нажать кнопку Дополнительно. После этого окно будет иметь вид, показанный на рис. 12.

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

Рис. 12. Установка параметров запуска базы данных.