Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA.doc
Скачиваний:
3
Добавлен:
17.09.2019
Размер:
696.83 Кб
Скачать

Зв’язування макросів з подіями

Макроси Access можна зв’язувати з подіями об’єктів бази даних чи бази даних в цілому. Зокрема, для створення макросу, який виконуватиметься при завантаженні бази даних, необхідно присвоїти йому ім’я AutoExec. Цей макрос не буде виконуватися, якщо під час запуску бази даних тримати натиснутою клавішу Shift.

Для зв’язування макросу з подією елемента керування форми чи форми в цілому потрібно в режимі конструктора форми відобразити вікно властивостей елемента (чи форми) та перейти на закладку Події. Тут необхідно вибрати подію, з якою буде зв’язано макрос помістити курсор у відповідну комірку та вибрати зі списку макросів потрібний об’єкт.

Перетворення макросів в процедуру

Будь-який макрос, створений у базі даних Access, можна перетворити в процедуру, розміщену на окремому модулі, тобто записати його за допомогою програмного коду.

Для створення окремого модуля на основі існуючого макросу, потрібно активізувати відповідний макрос, виконати команду Файл  Зберегти як. У діалоговому вікні, яке при цьому відкривається, необхідно в списку Як: вибрати елемент Модуль та натиснути Ok.

Процес перетворення одного об’єкта бази даних в інший розпочнеться з появи діалогового вікна Перетворення макросу, в якому потрібно встановити параметри перетворення: чи додавати у процесі перетворення в модуль програму обробки помилок, яка дозволить уникнути переривання роботи у випадку появи помилки, чи доповнювати текст програми коментарями.

Після вибору відповідних опцій чи їх ігнорування необхідно натиснути кнопку перетворити. По завершення процесу перетворення на екрані виводиться відповідне вікно про успішне перетворення. У результаті цього на закладці модулів БД можна побачити новий елемент Перетворений макрос — назва. Це — код процедури, записаний мовою VBA, яка за своєю суттю ідентична до відповідного макросу. Цей код можна переглянути у вікні редактора VBA.

Контрольні запитання

  1. Що таке макрос Access? Опишіть процес створення макросу в програмі MS Access.

  2. Яких правил слід дотримуватись при заданні макросів в Access?

  3. Як створити макрос з умовою?

  4. Якими способами можна виконати макрос Access?

  5. Що таке модуль в Access? Як створити модуль?

  6. Опишіть процес зв’язування макросу з подіями.

  7. Як перетворити макрос у процедуру?

Розробка інтерфейсу користувача

План

1. Проектування та форматування форми.

2. Елементи керування.

Проектування та форматування форми

Велику увагу при створенні додатка слід приділяти оформленню інтерфейсу та створенню зручних діалогових вікон для введення та виведення інформації.

Для додавання до проекту форми використовується команда редактора VB Insert  UserForm. Редактор VB виводить нову форму в режимі розробки, в якому можна додавати та знищувати елементи керування, встановлювати властивості форми чи її елементів керування, виконувати інші операції з зовнішнім виглядом. Разом із формою на екрані з’являється панель інструментів Toolbox. Кожен об’єкт форми містить у собі модуль класу, в якому можна створювати код обробки подій форми.

Поверхня форми покрита сіткою з крапок. Яка допомагає вирівнювати та підбирати розміри елементів керування. За допомогою піктограм панелі інструментів Toolbox можна заповнювати діалогове вікно відповідними елементами.

Форм, як і модуль, можна перейменовувати. Для цього потрібно ввести нове ім’я форми в поле Name вікна властивостей форми. Для того, щоб змінити розміри ,форми потрібно активізувати її та, використовуючи маркери розмірів, змінити розмір.

При роботі з формою варто дотримуватись правил:

  1. Усі елементи форми повинні мати унікальні імена, оскільки ці назви використовуються у процедурах. Щоразу після додавання елемента керування в форму VBA присвоює елементу стандартне ім’я з номером.

  2. При використанні декількох елементів керування, які можна умовно розділити на деякі групи, варто використовувати елемент frame (рамку), вказуючи у властивостях її назву.

  3. Для зручнішого читання полів, їх рекомендують розміщувати одне під одним, вирівнюючи по лівій межі.

  4. Доцільно дотримуватись стандартних розмірів елементів, а також відстані між ними.

  5. Для елементів рекомендують використовувати шрифт 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]