Кафедра «Інформаційні технології»
Курс лекцій з дисципліни «Бази даних» для спеціальності напряму 1-40 01 02-01 «Інформаційні системи та технології (в проектуванні і виробництві)»
Основи програмування в СУБД MS Access
1. Вибір між використанням макросів і програмних модулів на VBA
2. Поняття модуля. Типи і способи створення модулів.
3. Моделі об'єктів для роботи з даними.
4. Приклади модулів
1. Вибір між використанням макросів і програмних модулів на VBA
В Access багато дії виконуються через інтерфейс користувача або за допомогою макросів. В інших СУБД рішення тих же самих завдань може зажадати програмування. Вибір між створенням макросу або розробкою програми на мові VBA (Visual Basic for Applications) зазвичай визначається діями, які потрібно виконувати в додатку Access.
- Коли використовуються макроси?
- Макрос - зручний засіб виконання простих завдань:
- Відкриття / закриття об'єктів БД (форм, звітів і ін.). Дії, що зв'язують різні об'єкти БД, виконуються просто, тому що мають простий синтаксис - всі аргументи для кожної дії відображаються у вікні макросу.
- Коли використовуються макроси?
- Визначення загальних призначених клавіш ( «гарячих» клавіш і поєднань клавіш).
- Виконання простих дій при відкритті БД (хоча ряд простих дій, які повинні виконуватися при відкритті БД, можна налаштувати без макросів: у вікні Параметри запуску - меню Сервіс).
- Коли використовуються програмні модулі на VBA?
- Спрощення управління базою даних
- Макроси «існують» окремо від використовують їх форм / звітів => важко підтримувати БД, де реакції на події в формах / звітах визначають багато макросів.
- Процедури обробки подій VBA «вмонтовані» в опису відповідних форм / звітів. При перенесенні форми / звіту з однієї БД в іншу ці процедури автоматично переносяться разом з формою або звітом.
- Коли використовуються програмні модулі на VBA?
- Створення призначених для користувача функцій
- В Access багато вбудованих функцій, які можна використовувати відразу. VBA дозволяє користувачам створювати також власні функції як для вирішення завдань, що виходять за рамки можливостей вбудованих функцій, так і для заміни складних виразів з вбудованими функціями. Функції для також використовуються у виразах для виконання спільних операцій над декількома об'єктами.
- Коли використовуються програмні модулі на VBA?
- Обробка повідомлень про помилки
- Стандартні повідомлення про помилки Access, що виводяться на екран при виникненні нештатних ситуацій під час роботи з БД, можуть виявитися незрозумілими для користувача.
- За допомогою VBA можна перехоплювати помилку при її виникненні і виводити власне «зрозуміле» користувачеві повідомлення про помилку або виконувати певні дії у відповідь на помилку.
- Коли використовуються програмні модулі на VBA?
- Створення або обробка об'єктів
- У більшості випадків зручніше створювати або змінювати об'єкти в режимі Конструктор. Однак в деяких ситуаціях доводиться працювати з описом об'єкта в програмі. Засоби VBA дозволяють програмно обробляти як об'єкти в БД, так і саму БД.
- Коли використовуються програмні модулі на VBA?
- Виконання дій на рівні системи
- Виконання в макросі макрокоманди RunApp (ЗапускПріложенія) дозволяє запускати з Access інше Windows (MS-DOS) додаток, але інших можливостей використовувати макрос поза Access немає.
- Засоби VBA дозволяють: перевіряти наявність файлів, програмувати об'єкти, виконувати динамічний обмін даними з іншими додатками, викликати функції з бібліотек динамічного компонування Windows і ін.
- Коли використовуються програмні модулі на VBA?
- Обробка записів по одній
- Інструкції VBA дозволяють перебирати набори записів по одній і виконувати певні дії над полями окремого запису (наприклад, реалізовувати алгоритми обробки двовимірних масивів для набору записів).
- На відміну від цього, макроси дозволяють працювати тільки з цілим набором записів.
- Коли використовуються програмні модулі на VBA?
- Передача аргументів на процедури VBA
- Аргументи для макрокоманд можна задавати в нижній частині вікна макросу при його створенні, але при виконанні макросу змінювати їх неможливо.
- За допомогою VBA можна передавати аргументи на виконувану програму або використовувати в якості значень аргументів змінні (макроси це робити не дозволяють). Передача аргументів підвищує гнучкість виконання процедур VBA.
2. Поняття модуля. Типи і способи створення модулів.
Модуль (програмний модуль) - це сукупність описів, інструкцій і процедур, збережених під загальним ім'ям для організації програм на мові VBA.
Типи модулів в Access
Стандартні модулі містять загальні процедури, не пов'язані з конкретним об'єктом БД (формою, звітом). У ці модулі поміщають процедури Sub і Function, які повинні бути доступні для всіх об'єктів в даному додатку. Стандартні модулі можуть використовуватися і іншими додатками Access.
Модуль класу відрізняється від стандартного модуля тим, що, крім процедур, він містить опис об'єкта і використовується для створення класів (об'єктів). Окремі модулі класу, розташовані на вкладці Модулі вікна БД, містять опис класу (об'єкта), створеного користувачем. До цих модулів також відносяться модулі об'єктів (форм, звітів), пов'язані з конкретними формами або звітами.
Способи створення модулів Перший спосіб створення порожнього модуля: вибрати "Так" в поле наявності модуля на вкладці "Все" у вікні діалогу Форма або Звіт. Вікно діалогу викликається командою "Властивості" з контекстного меню, перебуваючи в конструкторі форм або звітів.
1-й спосіб створення порожнього модуля
2-й спосіб створення модуля
Спосіб створення модуля класу
3. Моделі об'єктів для роботи з даними