Призначення макросу події
Найбільш часто макроси використовуються в програмі Access для обробки подій.Подія -це будь-яка дія, що розпізнається об'єктом, і можна визначити реакцію об'єкта на подію. Події відбуваються в результаті дій користувача, виконання інструкцій VBA або генеруються системою. Прикладом подій є виведення на екран форми, звіту, введення даних у текстове поле, натискання кнопки миші чи кнопки. Кожній з цих подій можна призначити макрос або процедуру VBA, які автоматично виконуватимуться у відповідь на подію. Практично все програмування в Access зводиться до написання макросів чи процедур, які обробляють події, т. е. програмується реакція об'єктів на події. Існує велика кількість різноманітних подій, на які реагують об'єкти, причому часто виникає не одна, а ціла послідовність подій. Тому необхідно мати певне вміння, щоб вирішити, якій події слід призначити створений вами макрос або процедуру VBA. Усі тонкощі цього вибору обговорюватимуться у розд. "Програмування у формах та звітах" гл. 13. Тут ми опишемо лише спосіб призначення макросу події та наведемо приклади обробки подій за допомогою макросів.
Почнемо з найпростішого. Відкриємо форму "Клієнти" (Customers) у базі даних "Борей". У цій формі відображається інформація про клієнта. Припустимо, ми хотіли б бачити не лише цю інформацію, а й дані про куплені клієнтом продукти. Було б добре створити кнопкуЗамовлення клієнта,при натисканні якої з'являлася форма "Замовлення" (Orders) із замовленнями тільки того клієнта, який в даний момент обраний у формі "Клієнти" (Customers). Щоб отримати бажане, створимо макрос, який буде виконуватися, коли відбудеться подіяНатискання кнопки(OnClick) у формі "Клієнти" (Customers).
Щоб створити макрос, який визначає описану реакцію програми на подіюНатискання кнопки(OnClick):
- Відкрийте форму "Клієнти" (Customers) у режимі Конструктора.
- Створіть кнопку в області форми. При цьому кнопка майстра на панелі елементів повинна бути віджата, тому що вам буде запропоновано створити процедуру обробки подій, а не макрос.
- Відкрийте вікно властивостей щойно створеної кнопки, якщо воно ще не відкрито, та відкрийте вкладкуПодії(Event).
- Зверніть увагу, скільки різних подій пов'язане лише з кнопкою команд. Крім звичайного натискання, яке ми зараз і будемо використовувати, в набір подій кнопки входять отримання і втрата фокусу, подвійне клацання кнопкою миші, просте переміщення покажчика миші над кнопкою тощо. Таке різноманіття подій дає розробнику великі можливості створення зручного інтерфейсу користувача. Тепер знайдіть у списку подіюНатискання кнопки(On Click) і встановіть курсор у відповідну комірку. Це поле зі списком, і зараз воно порожнє. Якщо відкрити цей список, то першим його елементом буде[Процедура обробки подій]([Event procedure]), а далі йде перелік усіх макросів, що існують у додатку (рис. 11.10).
- Оскільки потрібного нам макросу у списку немає, давайте його створимо. Для цього натисніть кнопку Побудовача, що знаходиться праворуч від поля. З'явиться вікноПобудівник(Choose Builder), в якому пропонується вибрати один із трьох Побудовників:Вирази(Expression Builder),Макроси(Macro Builder) таПрограми (Code Builder) (рис. 11.11).
- ВиберітьМакроси(Macro Builder) і натисніть кнопкуОК.Відкриється "вікно макросів і діалогове вікно, вяке потрібно запровадити ім'я створюваного макросу. Введіть ім'я Замовлення клієнта.

Мал. 11.10.Діалогове вікно властивостей кнопки

Мал. 11.11.Діалогове вікноПослідовність переходу