Бази даних та бази знань: Методичні вказівки до лабораторних робіт. Частина 2, страница 12

1.2. Автоматичний запуск макросу

Як правило, при відкритті бази даних постійно виконуються ті самі дії. Типовим прикладом цього є відкриття форми, що містить панель управління прикладною програмою. Було б зручно, якби MS Access виконував цю дію автоматично. Усе, що для цього потрібно – це автоматично виконуваний макрос, що називається AutoExec.

У вікні бази даних виберіть піктограму Макрос. Потім натисніть кнопку Створити, у результаті чого MS Access відкриє порожнє вікно макросу в режимі Конструктор. Натисніть мишею самий верхній рядок стовпця Макрокоманда. MS Access відображає на екрані список макрокоманд. Здійсніть прокручування списку і виберіть елемент Відкрити Форму.

Тепер необхідно визначити аргументи макрокоманди. Натисніть мишею рядок Ім'я форми у нижній частині вікна. Тут MS Access відображає список усіх форм бази даних. Виберіть ту форму, що повинна відкриватися автоматично (наприклад, Панель управління формами). Для всіх інших аргументів можна залишити стандартні установки без змін.

Збережіть новий макрос під ім'ям AutoExec. При наступному відкритті бази даних автоматично буде відкриватися форма Панель управління формами.

Якщо у винятковому випадку буде потрібно припинити виконання AutoExec-макросу, при відкритті бази даних варто утримати натиснутою клавішу Shift.

У більш серйозних випадках у макрос AutoExec поміщають команди підготовки додатку до роботи, наприклад, сюди можна помістити команди приєднання таблиць з іншої БД.

1.3. Макроси як замінники команд меню

Взаємодію з формою можна спростити, розмістивши команди, які найбільше часто використовують, в меню у вигляді кнопок. Натискання кнопки виконується, як правило набагато швидше, ніж вибір команди меню. Це виправдує себе в тому випадку, якщо часто потрібно повертатися у вікно бази даних [3, 7].

MS Access дозволяє створювати макрос, у якому можна об'єднати кілька макрокоманд. Створення такої групи рекомендується в тих випадках, коли для форми потрібно кілька макрокоманд.

При використанні групи макрокоманд можна уникнути того, що у вікні бази даних з'являється кожна окрема макрокоманда. Це значно поліпшує наочність.

Визначення групи макрокоманд виконується точно так само, як визначення окремої макрокоманди.

1.4. Умова виконання макросу

Не завжди макрос, повинний виконуватися відразу ж, як тільки ви натиснули визначену кнопку. Так, наприклад, можна створити макрос, що послідовно роздруковує кілька звітів. Перш ніж почнеться друк, на екрані повинно з'явитись повідомлення про те, що друк забере тривалий час. Процес друку повинний початися лише після того, як користувач погодиться з цим.

Створіть новий макрос. Виберіть командуВид/Умови, у результаті чого на екрані з'явиться стовпець Умови. Насамперед варто вказати макрокоманди в тій послідовності, у якій вони повинні виконуватись. Наприклад, якщо потрібно віддрукувати кілька звітів, варто вибрати макрокоманду Відкрити Звіт кілька разів.

Потім за допомогою аргументу макрокоманди Режим можна визначити, буде MS Access спочатку відкривати звіти в режимі попереднього перегляду або відразу виводити їх на друк.

Перейдіть у стовпець умов, введіть там наступний вираз: Мsgвох ("Друк вимагає тривалого часу. Приступити до друку?"; 4+2 )=6.

Спочатку викликається вбудована функція MsgBox (Повідомлення). Дана функція відображає на екрані діалогове вікно з указаним текстом повідомлення і двома кнопками Так і Ні. Функція повертає значення 6 лише тоді, коли ви натиснете кнопку Так.

MS Access виконує зазначену після умови макрокоманду тільки тоді, коли умова виконана, а саме, коли користувач натискає кнопку Так.

Тепер, якщо вибрати піктограму Виконати для запуску макросу, MS Access спочатку відображає на екрані вікно діалогу. Якщо натиснути кнопку Ні, то не буде виконана тільки перша макрокоманда. Однак другий звіт MS Access роздрукує.