Лабораторна робота 6. Макроси
Мета роботи: створення макросів в Microsoft Access.
Теоретичні відомості
Макрос ‒ це засіб для автоматизації завдань і додавання функціональних можливостей у форми, звіти і елементи управління.
У додатку Access макроси можна розглядати як спрощену мову програмування, на якій програма записується у вигляді списку макрокоманд для виконання. При створенні макросу кожна макрокоманда вибирається із списку, що розкривається, після чого до неї додається необхідна інформація.
Макрос створюється за допомогою конструктора макросів (Macro Design). Щоб відобразити будівник макросів на вкладці Створення (Create) в групі Макроси і код (Macro And Code) клікніть Макрос (Macro).
Хід роботи
Завдання 1. Створення ізольованого макросу
1. На вкладці Створення (Create) в групі Макроси і код (Macro And Code) клікніть Макрос(Macro) /. Відкриється конструктор макросів (Macro Design).
2. Для додавання макрокоманди в макрос в конструкторі макросів (Macro Design) виберіть макрос «Вікно Повідомлення» з випадаючого меню Додати нову макрокоманду (Create) або перетягніть макрокоманду з каталогу макрокоманд із списку справа. Для пошуку потрібних макрокоманд рекомендується використовувати вікно пошуку в каталозі макрокоманд.
Рис. 6.1. Вибір макрокоманди
3. Вкажіть наступні аргументи для макрокоманди:
Рис. 6.2. Аргументи макрокоманди
4. Виконаєте макрос за допомогою кнопки Виконати
(Run)
. Підтвердіть
збереження макросу, присвоївши йому ім'я «Повідомлення».
5. Перейменуйте макрос, давши йому ім'я Autoexec.
8. Закрийте базу даних, потім знову відкрийте її і переконаєтеся, що тепер макрос виконується автоматично при відкритті бази.
9. Поверніть макросу колишнє ім'я.
Завдання 2. Робота з вкладеними макросами
Вкладені макроси дозволяють використання в макросі іменованих груп макрокоманд, які можуть бути викликані тільки їх безпосереднім запуском.
1. Створення вкладених макросів
1.1. Відкрийте макрос «Повідомлення» в режимі конструктора (Design).
1.2. Додайте Вкладений макрос з каталогу макрокоманд.
1.3. Присвойте ім'я вкладеному макросу «Закінчення» і додайте у вікно вкладеного макросу макрокоманду «Вікно Повідомлення» з наступними аргументами:
Рис. 6.3. Вкладений макрос
1.4. Збережіть зміни і закрийте вікно макросу.
1.5. Виконаєте макрос з вікна бази даних. Буде виконаний тільки перший макрос із створених.
2. Зв'язок групи макросів з формою.
2.1. Відкрийте одну із форм створену на попередніх заняттях в режимі конструктора (Design).
2.2. Відкрийте Вікно властивостей форми(F4 або кнопка Сторінка властивостей (Property Sheet) в групі Сервіс (Tools)), виберіть вкладку Властивостей форми ‒ Події (Events).
2.3. Для властивості Відкриття (On open) ‒ виберіть із списку макрос «Повідомлення».
2.4. Для властивості Закриття (on Close) ‒ виберіть макрос «Повідомлення. Закінчення».
2.5. Збережіть і закрийте форму. Потім відкрийте форму знову (виконається основний макрос «Повідомлення», а потім закрийте (виконається вкладений макрос «Повідомлення. Закінчення»).
Завдання 3. Експорт даних в різні формати
1. Створіть макрос, що виконує макрокоманду «Експорт З Форматуванням».
2. Аргументи макрокоманди (Arguments):
тип об'єкту ‒ форма;
ім'я об'єкту ‒ Список Замовлень По Датах;
формат виводу ‒ залиште порожнім;
ім'я файлу ‒ .<шлях до файлу>.<розширення вибраного формату>;
якість виводу ‒ друк.
Рис. 6.4. Аргументи макрокоманди «Експорт З Форматуванням»
3. Збережіть макрос з яким-небудь форматом виводу (наприклад, .pdf) під ім'ям «Формат Вывода».
4. Відкрийте форму «Список Замовлень По Датах» в режимі конструктора (Design) і додайте на її елемент управління Кнопка (Button).
5. У Вікні властивостей (Property Sheet) елементу управління Кнопка (Button) виберіть вкладку Події (Events), і зв'яжіть подію Натиснення кнопки (PressButton) з макросом «Формат Виводу». Вкажіть підпис кнопки ‒ «Експорт даних».
6. Перейдіть в режим форми (Form View) і виконаєте макрос. Переконаєтеся в коректності його виконання.
Завдання 4. Створення впровадженого макросу
Процес створення впровадженого макросу аналогічний створенню стандартного макросу. Основна відмінність полягає в тому, що макрос впроваджується в об'єкт, з яким він пов'язаний, і не з'являється в списку макросів у вікні області переходів.
1. Відкрийте звіт «Транспортна компанія» в режимі конструктора (Design).
2. Розмістіть на формі звіту елемент управління Кнопка (Button).
3. Відкрийте Вікно властивостей (Property Sheet) для елементу управління Кнопка (Button), вкладку Події (Events), подія Натиснення кнопки (PressButton) і виберіть Будівника (натиснувши кнопку з трикрапкою). У діалоговому вікні Будівника (Choose, що відкрилося Builder) виберіть елемент Макроси (Macro Builder) ‒ ОК. Відкриється вікно Конструктора макросів (Macro Design).
4. Виберіть макрокоманду «Вікно Повідомлення» (MsgBox), довільно призначте аргументи (текст повідомлення, тип повідомлення і тому подібне) і виконаєте макрос, зберігши його.
5. Зверніть увагу, що створений впроваджений макрос не відобразився в списку макросів.
Завдання 5. За допомогою вбудованих макросів забезпечити можливість переходу між об'єктами бази даних, а також закриття об'єктів.
1. Відкрийте форму «Доставка» в режимі конструктора (Design).
2. На вкладці Конструктор (Design) в групі Елемент управління (Controls) активізуйте кнопку Використання майстра (Control Wizard) і виберіть елемент управління Кнопка (Button).
3. Розмістіть кнопку на формі. Відкриється вікно створення кнопок. Виберіть категорію «Робота з формою», дія «Відкрити форму» ‒ Далі ‒ Виберіть із списку форму «Транспорт» ‒ Далі (Next) ‒ Далі (Next) ‒ Текст «Транспорт» ‒ Готово (Finish). Відкриється форма «Транспорт».
4. Відкрийте форму в режимі форми (Form View), натисніть створену кнопку.
5. Відкрийте форму «Транспорт» в режимі конструктора (Design) і помістіть на форму елемент управління Кнопка (Button). У вікні Створення кнопок виберіть категорію «Робота з формою», дія «Закрити форму» ‒ Далі (Next) ‒ Розмістіть на кнопці текст або малюнок – Готово (Finish).
6. Перейдіть в режим форми (Form View) і натисніть на створену кнопку. Форма «Транспорт» закриється.
7. Переконаєтеся, що жоден із створених впроваджених макросів не відобразився в списку макросів.
Завдання 6. Створення макросу даних
Макроси даних ‒ це нова функція Access 2010, яка дозволяє додавати логіку в події, які відбуваються в таблицях (наприклад, додавання, оновлення або видалення даних).
Завдання: необхідно реалізувати часткову автоматизацію відстеження готовності замовлення. Для цього необхідно додати в таблицю «Замовлення» додаткові поля, створити форму, що виводить відповідну інформацію, а також створити макрос, який частково автоматизує відстеження готовності замовлення.
1. У таблицю «Замовлення» додайте два поля:
a. «СтанЗамовлення»: тип ‒ текстовий; використовувати підстановку ‒ Список; тип джерела рядків ‒ Список значень.
b. «Процент Завершення»: тип ‒ числовий; формат поля ‒ довге ціле.
2. Перейдіть в режим таблиці, створіть елементи списку поля «Стан Замовлення». Для цього клікніть по порожньому осередку поля і відкрийте вікно «Змінити елементи списку».
Рис. 6.5. Створення елементів списка поля таблиці
Додайте елементи «Не розпочато», «Виконується», «Закінчено».
Рис. 6.6. Вікно зміни елементів списку поля таблиці
3. Збережіть зміни, закрийте таблицю.
4. На підставі зміненої таблиці «Замовлення» створіть форму «Стан Замовлення», включивши в неї наступні поля: «Код Замовлення», «Дата Замовлення», «Стан Замовлення», «Процент Завершення».
5. Збережіть зміни, закрийте форму.
6. Відкрийте таблицю «Замовлення» в режимі таблиці. Перейдіть на вкладку Таблиці, виберіть макрос «До зміни». Відкриється вікно макросів.
7. Виберіть команду умови Якщо в каталозі макросів, розділ Управління. Введіть критерій і його значення:
Рис. 6.7. Параметри умови макросу «Якщо»
8. Виберіть макрокоманду «Задати Поле» і додайте її в блок «Якщо». Введіть такі аргументи:
Рис.6.8. Параметри макрокоманди «Задати Поле»
Далі необхідно додати команду, яка присвоїть полю «Процент Завершення» значення нуль при заданні значення «Не розпочато» поля Стан. Для цього додайте оператор «Інакше Якщо» до оператора «Якщо» (для цього спочатку виберіть оператор «Якщо», а потім клікніть на команді «Інакше Якщо»). Додайте аргументи команди:
Рис. 6.9. Параметри умови «Інакше Якщо»
9. Потім додайте команду «Задати Поле»:
Рис.5.10. Параметры макрокоманды «Задати Поле»
10. Збережіть зміни. Перевірте коректність роботи макросу в таблиці і в формі.
Завдання 7. Створення макросу користувацького інтерфейсу
Завдання: необхідно створити форму, що виводить список клієнтів в табличному виді з ім'ям «Список_Клієнтів», і реалізувати макрос, який би по натисненню на код клієнта відкривав форму з інформацією по вибраному клієнтові.
1. На основі таблиці «Клієнти» створіть форму «Список_Клієнтів», яка виводила б інформацію про клієнтів в табличному виді.
Рис. 6.11. Форма «Список_Клієнтів»
2. Необхідно створити такий впроваджений макрос, який би по кліканню миші на коді клієнта у формі «Список_Клієнтів» виводив інформацію про клієнта в зручнішому вигляді із форми «Клієнти».
Рис. 6.12. Обмін даними між формами додатку
3. Відкрийте форму «Список_Клієнтів» в режимі таблиці. Виділіть поле з кодом клієнта і відкрийте вікно властивостей.
4. У вікні властивостей перейдіть на вкладку Події, пункт Натиснення кнопки ‒ Макрос. Відкриється вікно конструктора макросів.
5. У вікні конструктора макросів виберіть макрокоманду «Відкрити Форму», задайте для неї наступні параметри:
Рис. 6.13. Параметри макрокоманди «Відкрити Форму»
6. Збережіть зміни, перевірте коректність роботи макросу.
Збережіть і закрийте базу даних.
Завдання. Виконайте створення всіх типів макросів згідно свого варіанта.
Контрольні запитання
1. Що таке макроси в Microsoft Access?
2. Які макроси можна створювати в Microsoft Access?
3. Розкажіть про роботу з вкладеними макросами в Microsoft Access.
4. Створення макросу експорту.
5. Що таке макрос даних?