Програмування форм і звітів (об'єктів) access 2018, програмування vba в СУБД access 2018

Основи програмування VBA

Програмування VBA подій об'єктів в формах і звітах

Крім колекцій AllForms і AllReports в БД Access входять колекції Forms і Reports. У колекції Forms і Reports об'єднуються всі форми і звіти, які в даний момент відкриті (завантажені в оперативну пам'ять). Ці колекції входять в об'єкт Application додатки Access. Об'єкт Application знаходиться на вершині ієрархії об'єктної моделі Access.

У процедурі MySt () зв'язок об'єктної змінної з екземпляром об'єкта розірвана, так як об'єктної змінної встановлено значення Nothing. Для даної процедури пов'язувати змінну з об'єктом необов'язково, але змінну можна пов'язати з об'єктом Form, наприклад,
Set frm = CurrentProject.AllForms (Form).

Необхідно відзначити, що форми і звіти БД Access кардинально відрізняються від форм і звітів Word і Excel, які створюються і відкриваються програмно. Форми і звіти в Access створюються з вікна БД засобами (майстрами і конструкторами) візуального проектування форм і звітів. Форми створюються з набору окремих елементів управління, вони легко поміщаються на форму в режимі конструктора.

При необхідності форми, звіти і елементи управління для форм в БД Access можна створювати і програмним способом. Для цього треба скористатися методом CreateControl об'єкта Application. Але найчастіше програми на мові Visual Basic (модулі) створюють для автоматизації дій над об'єктами (кнопками, текстовими полями, перемикачами і т.д.) в формах і звітах.

Для програмування форм і звітів Access використовується візуальне середовище, яка заснована на подіях об'єктів. Процедури обробки подій зазвичай зберігаються в модулях форм. Крім того, програмування може застосовуватися для зміни властивостей форм і звітів, якщо вони активні, тобто відкриті.

Форми і звіти БД Access зазвичай відкриваються вручну з вікна бази даних в режимі макета або конструктора. Але якщо потрібно відкрити форму програмним способом, то доцільно використовувати метод OpenForm об'єкта DoCmd. Об'єкт DoCmd призначений для запуску макросу з процедури на мові Visual Basic.

Об'єкт DoCmd дозволяє виконувати макроси (дії або макродействія) за допомогою процедури на VB. Інструкція DoCmd має такий вигляд: DoCmdмакрокоманда аргументи. Якщо, наприклад, необхідно відкрити форму "Студенти" в табличному вигляді, то можна використовувати метод OpenForm об'єкта DoCmd зі значенням аргументу acFormDS (рисунок 3).