Иллюстрированный самоучитель по Microsoft Access 2002

Преобразование макросов в процедуры VBA

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

Давайте попробуем преобразовать в процедуры обработки событий макросы, назначенные событиям формы "Наклейки для клиентов" (Customers Labels Dialog):

  1. Откройте форму "Наклейки для клиентов" (Customers Labels Dialog) в режиме Конструктора.
  2. Выберите команду Сервис › Макрос › Преобразовать макросы формы (Tools › Macro › Convert form's Macros to Visual Basic).
  3. В диалоговом окне Преобразование макроса формы (Convert form macros) (рис. 11.19) нажмите кнопку Преобразовать (Convert), оставив флажки установленными по умолчанию.

    Иллюстрированный самоучитель по Microsoft Access 2002 › Работа с макросами › Преобразование макросов в процедуры VBA
    Рис. 11.19, а) Преобразование макроса в процедуру VBA

    Иллюстрированный самоучитель по Microsoft Access 2002 › Работа с макросами › Преобразование макросов в процедуры VBA
    Рис. 11.19, б)

  4. Когда преобразование закончится, в форме "Наклейки для клиентов" (Customers Labels Dialog) щелкните правой кнопкой мыши, например по кнопке Отменить, и выберите команду Свойства (Properties).
  5. В диалоговом окне Свойства (Properties) раскройте вкладку События (Events).
  6. В поле для события Нажатие кнопки (On Click) оказалось установленным значение [Процедура обработки событий] ([Event Procedure]). Щелкните по кнопке Построителя, находящейся справа от поля, – откроется окно редактора VBA с текстом процедуры (рис. 11.20).

Иллюстрированный самоучитель по Microsoft Access 2002 › Работа с макросами › Преобразование макросов в процедуры VBA
Рис. 11.20. Процедура, полученная из макроса

В этой процедуре, полученной из макроса, используются объект DoCmd для выполнения макрокоманды закрытия формы. В соответствии с флажками, установленными в окне Преобразование макроса (Convert Macro), комментарии в макросе были преобразованы в комментарии в процедуре и был добавлен код обработки ошибки, который выдает на экран сообщение об ошибке в случае ее возникновения (см. гл. 13).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.