конкретного об’єкта після його виготовлення.
Модуль представляє собою програмний продукт, виготовлений програмістом. Є два типи модулів – стандартний і модуль класу. В модулі класу зберігаються події об’єкта. Стандартні модулі можуть бути призначеними для виконання найрізноманітніших робіт, в тому числі таких, які не мають відношення до проекту. Найчастіше вони складається з підпрограм і функцій, які запускаються на виконання як підпорядковані процедури подій.
Інтерпретатор VBA не вимагає явного оголошення простих змінних, однак, з метою попередження помилок його варто виконувати. Для забезпечення контролю за явним оголошенням змінних служить команда Option Explicit, яку слід помістити в розділ General, вікна редактора VBA. В цей розділ поміщують також команди Option Compare Database – виконання операцій порівняння так, як у базах даних, та Option BASE 0 – нумерацію елементів масивів починати з 0. Всі імена – змінних, об’єктів, модулів слід писати латиною, в деяких випадках ім’я, написане кирилицею, стає невидимим. Для оголошення констант застосовується команда: Const ім’я_константи = значення, наприклад, Const P = 3.1415926
Оголошення даних виконується за допомогою команди:
Dim ім’я_змінної As тип
В оголошеннях застосовуються такі типи змінних:
Integer – ціле число (наприклад, 238);
Long – велике ціле число;
Single – дійсне число (наприклад 45.50);
Date – дата (наприклад, 04.08.02);
Boolean – логічний (True або False);
String – літерал, рядок літер;
Variant – будь-який тип (програма сама визначає тип залежно від даних);
Object – об’єкт VBА.
Приклади оголошень:
Dim a As Integer, slovo As String – оголошення двох змінних: а – цілого типу і slovo – рядка літер довжиною 128 символів (за замовчуванням);
Dim s – оголошення змінної s без вказання типу (за замовчуванням – Variant);
Dim s As String *20 – оголошення літерної змінної s, довжина якої дорівнює 20 літер;
Dim a(5,3) As Integer – оголошення матриці a порядку 6Ч4 цілих чисел;
Dim a(0 To 5, 0 To 3) As Integer – те ж.
Присвоєння змінним значень виконується за допомогою знака рівності, наприклад,
a=632: slovo=”Петренко П.П.”
Ввести значення змінної текстового типу можна за допомогою функції InputBox, яка має вигляд:
Ім’я_змінної = InputBox(“Підказка”, “Заголовок вікна”, “Значення за замовчуванням”)
Для виводу значень змінних на екран служить функція MsgBox, вона має вигляд:
Результат = MsgBox(“Текст виводу”, Константа, “Заголовок вікна”)
Тут: Константа використовуються для визначення вигляду вікна. Приклади констант:
vbOKCancel – наявність кнопок OK та Cancel;
vbYesNo – наявність кнопок Yes та No;
vbCritical – знак попередження;
vbExclamation – знак оклику;
vbInformation – знак запитання та ін.
Функція повертає Результат, який залежно від вибраної кнопки у вікні MsgBox може приймати значення vbOK, vbYes і т. д. Якщо результат не використовується в програмі, його одержання може бути опущеним.
Для програмування розгалужень використовуються команди:
If умовний_вираз Then інструкція
або
If умовний_вираз Then інструкція1 Else інструкція2 EndIf
Команда умовного переходу має вигляд:
Go To мітка
Тут мітка – ідентифікатор. Вона ставиться перед командою, на яку здійснюється перехід, і відокремлюється від нього двокрапкою.
Для програмування циклу з регулярною зміною параметра служить команда :
For ім’я_змінної=початкове_значення To кінцеве_значення Step крок
тіло циклу
Exit For – передчасний вихід з циклу
Next ім’я_змінної
Команда циклу перерахункового типу має вигляд:
While умовний вираз
тіло циклу
Wend
Мова VBA має два типи процедур – підпрограму і функцію
Опис підпрограми має вигляд:
Кваліфікатор Sub ім’я процедури(список параметрів, їхніх кваліфікаторів і типів)
тіло процедури
Exit Sub – передчасний вихід з підпрограми
End Sub
Звернення до підпрограми виконується за допомогою команди:
Call ім’я процедури(список параметрів)
Опис функції має вигляд:
Кваліфікатор Function ім’я функції(список параметрів, їхніх кваліфікаторів і типів) As тип поверненого значення
тіло процедури
Exit Function – передчасний вихід з функції
End Sub
При звертанні до функції називають її ім’я, після якого в дужках подають список параметрів.
Під час виготовлення, налагодження та випробування процедур може виявитися корисним кваліфікатор Optional, який дозволяє присвоювати значення вхідному параметру за замовчуванням. Аргументи, які мають кваліфікатор Optional, повинні знаходитися вкінці списку параметрів процедури.
Процедура може мати кваліфікатор Private – локальна для обмеження області доступу.
Кваліфікатор ByVal дозволяє передати значення параметра за значенням, будучи зміненим у процедурі, воно не зміниться в головній програмі. Кваліфікатор ByRef передасть параметр за посиланням. Його застосування ідентичне передачі адреси змінної, така змінна набуває властивості глобальної.
В командах, які використовують об’єкти, можуть міститися імена інших (вкладених) об’єктів або методів та властивостей. Така команда буде складатися з декількох слів, розділених крапкою.
Об’єкт Application є найстаршим у контейнері, всі решта об’єкти є вкладеними в нього. Разом з модулями він утворює проект бази даних. Це – сам host-додаток до Windows, тобто MS Access. Його властивості Name та Version можна переглянути за допомогою команди:
MsgBox "Ім’я " & Application.Name & " Версія " & Application.Version
Властивості будь-якого об’єкта можна переглянути за допомогою властивостей Count – кількість, Name – ім’я та Item – значення.
У програмах мовою VBA прийнято писати одну команду в одному рядку. Якщо в одному і тому самому рядку пишеться декілька команд, то вони розділюються між собою двокрапкою. Якщо команда не поміщається в одному рядку, то вона дописується в наступному, тоді в місці розриву ставиться пробіл і символ підкреслювання.
Застосування методу CloseCurrentDatabase приводить до закриття БД, а Quit – до виходу з MS Access. Нижче подані приклади команд.
Об’єкт DoCmd дозволяє виконати команду. Розглянемо його окремі методи, це:
Open – відкрити об’єкт;
FindRecord – пошук запису за зразком.
GoToRecord – перехід на запис.
Метод GoToRecord може містити такі параметри:
acFirst – попередній запис;
acGoTo – заданий запис;
acLast