1) Використання макросів в базі даних Microsoft Access
2) Створення макросів
Конструктор макросів
Створення груп макросів
Застосування умов у макросах
3) Виконання та налагодження макросів
Запуск макросу з вікна Конструктора макросів
Запуск макросу з вікна бази даних
Запуск макросу за допомогою кнопки на панелі інструментів
Запуск макросу за допомогою команди меню
Запуск макросу за допомогою комбінації клавіш
Запуск макросу при відкритті бази даних
Запуск макросу з іншого макросу
Призначення макросу події
Виклик макросу з процедури VBA
Налагодження макросів і пошук помилок
4) Застосування макросів
Робота з даними у формах і звітах
Посилання на форми, звіти та їх властивості
Посилання на елементи керування форм, звітів та їх властивості
Посилання на підлеглі форми та звіти
Фільтрація записів у формах, звітах, таблицях
Переміщення за даними
Оновлення даних у формах і елементах управління
Робота з об'єктами
1) Перетворення макросів у процедури VBA
Висновки
Охорона праці та гігієна користувача ЕОМ
Вступ
Основний набір засобів Microsoft Access, які не володіють мовами програмування. Для програмістів ж до цих коштів додані макроси (невеликі програми мовою макрокоманд системи Access) та модулі (процедури на мові Visual Basic for Application, VBA). З їх допомогою можна істотно розширити функціональні можливості створюваного вами програми і налаштувати його на потреби конкретних користувачів. Ми познайомимося з одним з цих коштів - макросами і одним з мов програмування Access - мовою макрокоманд.
Отже, ми будемо обговорювати наступні питання:
Поняття макросу
Використання макросів в додатках-
Створення макросів і груп макросів
Завдання умов для управління процесом виконання макросу
Різні способи запуску макросів
Поради щодо налагодження макросів
Обробка подій у формах і звітах за допомогою макросів
Перетворення макросів у процедури VBA
Використання макросів в базі даних Microsoft Access
Макрос в Access являє собою структуру, що складається з однієї або кількох макрокоманд, які виконуються або послідовно, або в порядку, заданому певними умовами. Набір макрокоманд в Access дуже широкий, за допомогою макросів можна реалізувати багато з того, що дозволяють зробити процедури на VBA. Кожна макрокоманда має певне ім'я і, можливо, один або декілька аргументів, які задаються користувачем. Наприклад, при використанні макрокоманди ОткритьФорму (OpenForm) в якості аргументів необхідно задати, принаймні, ім'я відкривається форми і режим виведення її на екран.
У табл. 1 міститься список макрокоманд Microsoft Access 2003, згрупованих за категоріями: робота з даними у формах і звітах; виконання команд, макросів, процедур і запитів; робота з об'єктами; імпорт / експорт даних і об'єктів та інші. У категорію "інші" зібрані всі дії, які дозволяють впливати на інтерфейс програми.
Таблиця 1. Макрокоманди Microsoft Access 2002
Категорія
Призначення
Макрокоманда
Робота з даними у формах і звітах
Відбір даних
Застосувати Фільтр (ApplyFilter)
Переміщення за даними
Наступний Запис (FindNext) Знайти Запис (FindRecord) До Елементу Управління (GoToControl) Н аСторінку (GoToPage) На Запис (GoToRecord)
Оновлення даних або екрана
Оновлення (Requery) Показати Всі Записи (ShowAllRecords)
Копіювати Обєкт (CopyObject) Копіювати Файл Бази Данних (CopyDatabase File) Перейменувати (Rename) Зберегти (Save)
Інші
Виведення на екран або приховування вбудованою або спеціальної панелі інструментівПодача звукового сигналу
Панель Інструментов (ShowToolbar) Сигнал (Віяло)
Як видно з цієї таблиці, дії, які можуть бути виконані за допомогою макросів, дуже різноманітні. Навіть якщо ви не будете використовувати макроси в своїх програмах, має сенс вивчити ці дії, оскільки їх можна використовувати і в процедурах VBA, як буде показано далі .
У порівнянні з попередньою версією Access, в Microsoft Access 2002 з'явилися три нові дії:
ПереносБазиДаннихSQL (TransferSQLDatabase) - переносить базу даних Microsoft SQL Server 7.0 і вище на інший сервер;
Копіювати Файл Бази Данних (CopyDatabaseFile) - виконує копіювання поточної бази даних Microsoft SQL Server 7.0 і вище, приєднаної до проекту Access;
Відкрити Функцію (OpenFunction) - виконує функцію, визначену користувачем, у проекті Access. Ця функція - є запит, який, використовуючи вхідні параметри, повертає результати так само, як і процедура, що зберігається.
Використання макросів виправдано тим, що їх легко створювати, і для цього не потрібно вивчати синтаксис мови програмування. Для створення макросу потрібно знати лише основні прийоми роботи в Microsoft Access і Windows, такі як перетягування об'єктів з вікна База даних (Database) в спеціальне вікно - Конструктор макросів (Macro Design), вибір дії зі списку і введення виразів як аргументи макрокоманди. Тому, якщо дуже не хочеться вивчати синтаксис мови VBA або це видається занадто важким, сміло застосовуйте макроси, і ви отримаєте досить функціональне додаток.
Як вже говорилося вище, основне призначення макросів - це створення зручного інтерфейсу програми: щоб форми та звіти відкривалися при натисненні кнопок у формі або на панелі інструментів або ж звичним вибором команди меню; щоб при відкритті програми користувач бачив на екрані не вікно База даних (Database ), наповнене безліччю таблиць, запитів, форм і звітів, а якусь зрозумілу форму, за допомогою якої можна було б відразу робити бажані дії і т. д.
За допомогою макросів можна створити зручні меню і панелі інструментів для програми, і трохи пізніше ми опишемо, як це зробити.
Однак використання макросів має і деякі недоліки, про які тут доречно сказати.
Можливості макрокоманд обмежені в порівнянні з можливостями мови VBA, тому в ряді випадків без програмування на VBA не обійтися, хоча спочатку потрібно бути впевненим, що ці додаткові можливості дійсно потрібні. Мова VBA надає більш широкі можливості для роботи з даними, дозволяє використовувати механізм програмування об'єктів для зв'язку з іншими додатками, викликати функції з бібліотек динамічного завантаження (DLL) Windows і створювати власні спеціалізовані функції.
Макроси можна використовувати практично скрізь, де застосовуються процедури VBA, проте процедури VBA, як правило, виконуються швидше.
Макроси є об'єктами, що існують окремо від форм і звітів, в яких вони використовуються, тому, коли цих об'єктів стає дуже багато, їх підтримка досить трудомістка. Процедури обробки подій VBA є невід'ємною частиною форм і звітів, і в цьому є свої переваги. Наприклад, при переносі форм і звітів з однієї бази даних в іншу з ними автоматично переносяться пов'язані процедури.
Проте, як уже зазначалося, у багатьох випадках використання макросів цілком виправдано, тому що це істотно спрощує і прискорює розробку програми. За допомогою макросів можна створювати невеликі однокористувацький програми, хоча при створенні багатокористувацьких або клієнт-серверних додатків, де швидкість роботи програми критична, краще застосовувати VBA.
2) Створення макросів
У Microsoft Access існує спеціальний засіб для створення макросів - Конструктор макросів (Macro Design). Розглянемо процес створення макросу за допомогою Конструктора.
Конструктор макросів
Відкрити вікно Конструктор макросів (Macro Design) для створення нового макросу можна двома способами:
1. Розкрийте список макросів у вікні База даних (Database), клацнувши лівою кнопкою миші по ярлику Макроси (Macros), і натисніть кнопку Створити (New) у верхній частині вікна (мал. 1).
2. Клацніть по стрілці вниз на кнопці Новий об'єкт (New Object) на панелі інструментів База даних (Database) і виберіть елемент Макрос (Macro).
Вікно Конструктора макросів побудовано аналогічно вікну Конструктора таблиць, тобто розділене по горизонталі на дві частини: панель описів і панель аргументів.
Верхня частина вікна Конструктора - панель описів - складається з декількох стовпців. По замовчуванню на цій панелі виводиться два стовпці: "Макрокоманда" (Action) і "Примітка" (Comments).Панель описів дозволяє визначити послідовність макрокоманд, з яких складається макрос.
Рядок у стовпці "Макрокоманда" (Action) являє собою поле зі списком, в якому можна вибрати потрібну макрокоманду.
Рядок у стовпці "Примітка" (Comments) - це звичайне текстове поле, в яке можна ввести коментар, що описує виконувану дію.
Коли поле "Макрокоманда" (Action) заповнено, у нижній частині вікна Конструктора макросів з'являється панель аргументів, призначена для введення значень аргументів відповідної макрокоманди.Список полів на цій панелі залежить від обраної дії і може бути відсутнім, якщо макрокоманда не має аргументів. Таким чином, при створенні макросів не потрібно запам'ятовувати список аргументів для кожної дії.
На мал. 1 проілюстрований вибір дії Застосувати Фільтр (ApplyFilter). На панелі аргументів є два поля, які дозволяють задати ім'я фільтра і умова відбору записів. Для того щоб задати умову відбору записів, можна скористатися Будівник виразів .
Мал.1. Конструктор макросів і панель аргументів
Такий макрос можна використовувати у формі або звіті для того, щоб обмежити кількість відображуваних записів.