- •Поняття про об’єктно-орієнтоване програмування
- •Контрольні запитання
- •Основні поняття мови vba. Алфавіт та елементи мови. Типи даних
- •Версії мови Basic. Основні поняття мови vba
- •Алфавіт та елементи мови
- •Службові слова та оператори
- •Типи даних, змінні та константи
- •Операції
- •Контрольні запитання
- •Оператори та структури мови (функції та процедури)
- •Опис та присвоєння значень змінним та константам
- •Визначення області видимості змінних та констант
- •Організація умовного та безумовного переходу
- •If умова Then оператор1 (Else оператор 2)
- •Стандартні функції vb
- •InputBox (повідомлення (,заголовок)(,текст)),
- •Організація циклів
- •Опис та присвоєння значень масивам
- •Функції та процедури, створені користувачем
- •Контрольні запитання
- •Об’єкти ms Office. Використання властивостей методів об’єктів
- •Використання об’єктів
- •Використання властивостей об’єктів
- •Використання методів об’єкта
- •Об’єкт UserForm (Форма користувача)
- •Опис об’єктних змінних
- •Посилання на об’єкти за допомогою структури With...End With
- •Контрольні запитання
- •Середовище редактора vba
- •Інтелектуальні можливості редактора коду
- •Налаштування середовища vba
- •Явний опис змінних
- •Пошук процедури у вікні редактора
- •Редагування створеної процедури
- •Друк коду процедури
- •Експорт та імпорт модуля
- •Запуск та відлагодження процедури
- •Контрольні запитання
- •Програмування в ms Access
- •Макроси та модулі в Access. Створення, редагування та запуск макросів
- •Зв’язування макросів з подіями
- •Перетворення макросів в процедуру
- •Контрольні запитання
- •Розробка інтерфейсу користувача
- •Проектування та форматування форми
- •Елементи керування
- •Контрольні запитання
- •Тема 11. Програма Супермаркет
- •11.1. Створення відомостей. Утиліти програми Супермаркет
- •Створення відомостей про товарообіг
- •Створення документів, пов’язаних з фінансовими операціями
- •Створення і друкування цінників
- •Використання довідників
- •11.2. Робота з оболонкою Пос Термінал
- •Створення товарних чеків
- •Інкасація
- •Довідник товарів. Довідник організацій. Картка організації
- •Створення звітів та протоколів
Зв’язування макросів з подіями
Макроси Access можна зв’язувати з подіями об’єктів бази даних чи бази даних в цілому. Зокрема, для створення макросу, який виконуватиметься при завантаженні бази даних, необхідно присвоїти йому ім’я AutoExec. Цей макрос не буде виконуватися, якщо під час запуску бази даних тримати натиснутою клавішу Shift.
Для зв’язування макросу з подією елемента керування форми чи форми в цілому потрібно в режимі конструктора форми відобразити вікно властивостей елемента (чи форми) та перейти на закладку Події. Тут необхідно вибрати подію, з якою буде зв’язано макрос помістити курсор у відповідну комірку та вибрати зі списку макросів потрібний об’єкт.
Перетворення макросів в процедуру
Будь-який макрос, створений у базі даних Access, можна перетворити в процедуру, розміщену на окремому модулі, тобто записати його за допомогою програмного коду.
Для створення окремого модуля на основі існуючого макросу, потрібно активізувати відповідний макрос, виконати команду Файл Зберегти як. У діалоговому вікні, яке при цьому відкривається, необхідно в списку Як: вибрати елемент Модуль та натиснути Ok.
Процес перетворення одного об’єкта бази даних в інший розпочнеться з появи діалогового вікна Перетворення макросу, в якому потрібно встановити параметри перетворення: чи додавати у процесі перетворення в модуль програму обробки помилок, яка дозволить уникнути переривання роботи у випадку появи помилки, чи доповнювати текст програми коментарями.
Після вибору відповідних опцій чи їх ігнорування необхідно натиснути кнопку перетворити. По завершення процесу перетворення на екрані виводиться відповідне вікно про успішне перетворення. У результаті цього на закладці модулів БД можна побачити новий елемент Перетворений макрос — назва. Це — код процедури, записаний мовою VBA, яка за своєю суттю ідентична до відповідного макросу. Цей код можна переглянути у вікні редактора VBA.
Контрольні запитання
Що таке макрос Access? Опишіть процес створення макросу в програмі MS Access.
Яких правил слід дотримуватись при заданні макросів в Access?
Як створити макрос з умовою?
Якими способами можна виконати макрос Access?
Що таке модуль в Access? Як створити модуль?
Опишіть процес зв’язування макросу з подіями.
Як перетворити макрос у процедуру?
Розробка інтерфейсу користувача
План
1. Проектування та форматування форми.
2. Елементи керування.
Проектування та форматування форми
Велику увагу при створенні додатка слід приділяти оформленню інтерфейсу та створенню зручних діалогових вікон для введення та виведення інформації.
Для додавання до проекту форми використовується команда редактора VB Insert UserForm. Редактор VB виводить нову форму в режимі розробки, в якому можна додавати та знищувати елементи керування, встановлювати властивості форми чи її елементів керування, виконувати інші операції з зовнішнім виглядом. Разом із формою на екрані з’являється панель інструментів Toolbox. Кожен об’єкт форми містить у собі модуль класу, в якому можна створювати код обробки подій форми.
Поверхня форми покрита сіткою з крапок. Яка допомагає вирівнювати та підбирати розміри елементів керування. За допомогою піктограм панелі інструментів Toolbox можна заповнювати діалогове вікно відповідними елементами.
Форм, як і модуль, можна перейменовувати. Для цього потрібно ввести нове ім’я форми в поле Name вікна властивостей форми. Для того, щоб змінити розміри ,форми потрібно активізувати її та, використовуючи маркери розмірів, змінити розмір.
При роботі з формою варто дотримуватись правил:
Усі елементи форми повинні мати унікальні імена, оскільки ці назви використовуються у процедурах. Щоразу після додавання елемента керування в форму VBA присвоює елементу стандартне ім’я з номером.
При використанні декількох елементів керування, які можна умовно розділити на деякі групи, варто використовувати елемент frame (рамку), вказуючи у властивостях її назву.
Для зручнішого читання полів, їх рекомендують розміщувати одне під одним, вирівнюючи по лівій межі.
Доцільно дотримуватись стандартних розмірів елементів, а також відстані між ними.
Для елементів рекомендують використовувати шрифт Sans Serif 8 пт.
Назва вікна форми задається властивістю форми Caption.
Для перегляду форми в режимі виконання, необхідно виконати команду Run Run Sub/UserForm. При запуску форми активізуються усі її командні коди, які зберігаються в модулі цієї форми. Відображену в режимі виконання форму можна закрити за допомогою стандартної кнопки закриття вікна.
Параметри форми можна встановлювати як на програмному рівні, так і у Вікні властивостей (Properties Window) редактора VBA.
Розглянемо найуживаніші властивості об’єкта UserForm:
Name — визначає ім’я форми;
Caption — визначає заголовок форми;
BorderStyle — визначає лінію межі форми;
StartUpPosition — встановлює спосіб відображення форми;
BackColor — визначає колір фону;
Font — визначає параметри шрифту форми та елементів керування;
ForeColor — колір тексту у формі.
Оскільки форми зазвичай створюють для використання діалогових вікон, форми та елементи керування запускають на виконання деякі події. Події (events) — це те, що може відбутися з діалоговим вікном чи елементом керування. Прикладами подій є натискання кнопки вікна, вибір елемента списку, внесення змін у поле введення тощо. Розробник додатка може сам написати власні процедури, які будуть реагувати на певні події. Такі процедури називають процедурами обробки подій. Їх записують також у модулі класу, який є частиною об’єкта UserForm. При цьому назва процедури обробки події повинна мати вигляд:
НазваОб’єкта_НазваПодії
Розглянемо найуживаніші події об’єкта UserForm:
Click — після клацання лівою кнопкою миші;
DbClick — після подвійного клацання лівою кнопкою миші по формі;
Error — після появи помилки;
KeyPress — після натискання будь-якої клавіші;
Activate — після активізації вікна форми;
Deactivate — після того, як вікно форми стає неактивним.
Initialize — після першого завантаження форми в пам’ять.
Наприклад, процедура:
P
rivate
Sub UserForm_Click()
MsgBox "Подія click"
End Sub
виводить на екран вікно, зображене на рисунку.
Розглянемо приклад, в якому поява події Initialize спричинить встановлення властивості BackColor (колір фону) форми. Процедура обробки подій форми матиме вигляд:
Private Sub UserForm_Click()
Dim r, g, b As Integer
r = 200
g = 100
b = 100
BackColor = RGB(r, g, b)
End Sub
