Реалізація інтерфейсу
На єдиній (титульній) сторінці документу розміщена коротка інформація про програму та кнопка виклику, що викликає першу форму.
Форми створенні використанням технології візуального програмування, що забезпечена у VBA. Форми відповідають за певну функцію програми.
Отже були створені такі форми:
– UserForm1 – головна форма, відповідає за режими роботи вибір функцій;
– UserForm2 – робота з даними БД, перегляд, створення, оновлення і видалення;
– UserForm3 – запити;
– UserForm4 – звіти;
– UserForm5 – про програму.
На етапі створення форм був визначений їх вигляд. Програма працює з великою кількість даних, тому вони мають зручно розміщуватися на у вікні. Для цього широко використовувалися такі елементи інтерфейсу як вкладки (або сторінки), списки, комбіновані списку, текстові поля, та ін.
Вигляд форми для формування запитів показаний на рисунку 3.
Кнопка хрестик (Х) у кожному вікні програми по замовчуванню служить для припинення його роботи і повернення на титульну сторінку документу. Тому була створена у кожній формі кнопка для повернення на основну форму. Процедура обробки такої кнопки досить проста:
|
|
Me.Hide
UserForm1.Show
Схожий фрагмент тексту використовується не одноразово для переходу між формами.
Рисунок 10 – Вигляд форми Запити
Для естетично привабливого вигляду вікон використовується фонове зображення формату *.jpeg. Було вирішено не перевантажувати вікна зображеннями щоб не втомлювати користувача при довготривалій роботі.
Реалізація SQL-запитів
Кожна форма програми вибирає інформацію з бази даних за допомогою SQL-запитів. Розглянемо використовувані запити.
Програма представляє тільки приклад роботи з базою даних, що була створена в СУБД MS Access 2007, тому не завжди використовуються всі поля таблиць. Запити завжди є джерелом для заповнення локального буферу. Тобто вони створюють таблицю в буфері. Для звертання до полів запису використовується метод Fields(N), не N – номер поля запису. Перше поле локальної таблиці має номер 1. Для вибору запису служать ряд методів: MoveFirst, MoveLast, MovePrevios, MoveNext.
Для перегляду, зміни, створення чи видалення записів з таблиці використовуються SQL- запити без умови, наприклад:
rs.Source = "SELECT Орендатор.orendat, Орендатор.dogov, Орендатор.torg_pat, Місце.misce, … Місце.bydova FROM (Орендатор INNER JOIN Місце ON Орендатор.orendat = Місце.orendat) INNER JOIN Склад ON Орендатор.orendat = Склад.orendat"
Командою SELECT вибираються поля таблиць, FROM вказує на таблиці, з яких беруться поля, при чому також вказується поля, по яким зв’язані таблиці.
Розглянемо простіший запит:
rs1.Source = "SELECT * FROM Працівник"
Для цього запиту вибираються всі поля таблиці Працівник, на що вказує символ “ * ”.
|
|
Для створення запитів з умовою використовується така форма SQL-запиту:
str2 = "SELECT inv_nom, naz_obl FROM Обладнання WHERE viddil = '" + str1 + "'"
Де рядкова змінна srt1 була визначена користувачем і відповідає критерії по якій створюється запит. У VBA SQL-запит розглядається як рядок, тому йому властиві всі операції над рядковими змінними, в тому числі конкатенація, що активно використовується в програмі.