зміниться в головній програмі. Кваліфікатор 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 – останній запис;
acNewRec – новий запис;
acNext default – наступний запис;
acPrevious – початок набору даних.
Rename – змінити ім’я об’єкта.
RunSQL – виконати запит (вираз SQL).
RunMacro – виконати макрос.
Close – закрити об’єкт.
Quit – вихід з MS Access та закриття всіх його вікон.
Об’єкт Recordset призначений для обробітку наборів даних. Набір даних представляє собою таблицю, яка містить дані з однієї або декількох таблиць. Цей об’єкт є найбільш вживаним для програмного редагування таблиць. Його оголошення має вигляд:
Dim нд As New ADODB.Recordset
Тут нд – ім’я набору даних, змінна об’єктного типу.
Об’єктній змінній нд можна присвоїти значення об’єкта за допомогою команди Set:
Set нд = New ADODB.Recordset
Нижче подані окремі методи набору даних.
Open служить для відкриття набору даних, його застосування має вигляд:
нд.Open "Джерело", назва з’єднання з БД, параметри
Перечислимо та коротко охарактеризуємо окремі методи
AddNew – додати запис.
Delete(adAffectCurrent) – знищити запис (поточний);
Move(k) – перейти на k-й запис;
Update – змінити дані, перенести їх у таблицю-джерело;
Filter– фільтрація набору даних за умовою;
Close – закрити набір даних;
Set нд = Nothing – звільнення пам’яті, яку займає закритий набір даних.
Властивості Recordset:
Name – ім’я набору даних;
Type – тип набору даних;
CursorType – тип курсора;
Edit – редагування набору даних;
Bof, Eof – початок, кінець набору даних;
RecordCount– кількість записів;
нд(“ім’я поля”).Value – значення поля;
нд(№ поля).Value – значення поля (варіант), № починається з 0;
нд.Fields(№ поля).Value – значення поля (варіант), № починається з 0;
AbsolutePosition– № поточного запису.
3. Виконання роботи
3.1. Розробка та обгрунтування структури бази даних
При розробці структури БД взяті до уваги такі фактори:
база даних, це – модель об’єкта, для якого вона розроблена, тому вона повинна точно і адекватно відображати всі його матеріальні та фінансові ресурси та зв’язки між ними;
забезпечення виконання всіх необхідних робіт та видачі потрібних документів і звітів;
особливості програмного середовища, в якому розробляється база даних. Як правило, відомі системи управління базами даних (СУБД) забезпечують виконання всіх потрібних функцій, однак кожна з них реалізована по-різному;
максимальне використання стандартних програмних засобів, виготовлених висококваліфікованими програмістами;
надійність збереження даних, запобігання втрат інформації (ураження вірусами, захист від несанкціонованого доступу та некваліфікованого користування, стан технічних засобів);вигідність обслуговування. На ведення БД повинно затрачатися якомога менше інтелектуальних та технічних ресурсів.
Рис. 3.1. Структура бази даних Xlib
На рисунку 3.1 показана структура БД Xlib для нашого прикладу, в ній будуть знаходитися такі об'єкти:
п’ять таблиць: Cina, Hlibovyroby, Postachalnyk, Torhova_tochka, zbut;
шість таких запитів:
Rozpodil vyruchky_z проміжний запит для звіту Rozpodil vyruchky_p1;
Rozpodil vyruchky_zp перехресний запит для звіту Rozpodil vyruchky_p1;
Torh_to4_bez_nac запит для звіту Torh_to4_bez_nac;
Kilkist prodanoho hliba_d запит для графіка diagrama;
poshtova_nakl запит для виготовлення поштових наклейок posht_nakl;
forma_z і forma_vid_pro_zbut запити для виготовлення форми Postachalnyk.
чотири звіти, виконані майстром звітів:
Rozpodil vyruchky_p1 про розподіл виручки;
Torh_to4_bez_nac про сумарну кількість проданного товару в торгових точках де відсутня націнка;
поштову наклейку posht_nakl з відомостями про хлібовироби;
діаграма diagrama про кількість проданого житнього хліба з муки мукомольного комбінату вибраного зі списку на формі;
форма Postachalnyk для перегляду даних всіх таблиць;
форма Zbut для внесення в таблицю Zbut нових даних;
п’ять кнопок для запуску звітів та відкриття форми Zbut;
модуль Module1, який містить процедуру Zvit() мовою VBA для відбору даних та фомування звіту за умовою задачі 6.
3.2. Побудова таблиць, підбір та обгрунтування контрольних даних таблиць
Побудуємо таблицю Область, для цього у вікні База Даних виберемо об'єкт Таблиця, виконаємо команду Створити–Конструктор, появляється вікно конструктора
Рисунок 3.2 – Таблиця Hlibovyroby в режимі конструктора
У його верхній частині розташовані 4 графи: Ім’я поля для внесення імені поля, Тип даних (для вибору типу поля можна скористатися кнопкою у вигляді трикутничка, поверненого вниз, яка появляється після встановлення курсора на поле Тип даних), Опис (для приміток, які необов’язкові) та крайню ліву – поле виокремлення рядка (в ньому видно затемнений трикутник, повернений вправо). Занесемо такі імена полів і встановимо їх типи:
В нижній частині вікна зліва містяться перемикачі для вибору атрибутів поля таблиці (Довжина поля, Формат поля, Число десяткових знаків і т. д.) Вони ситуативні, тобто