Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра САПР
ЗВІТ
про виконання лабораторної роботи №10
на тему: «Модулі в БД»
з курсу: «Організація баз даних і знань»
Мета
Навчитись створювати та працювати з модулями в БД.
Завдання
Написати на мові Visual Basic for Aplication 2 модуля до БД.
Короткі теоретичні відомості
Численні засоби Access для інтерактивної розробки бази данних і вирішення завдань по обробці даних в ній є основою для побудови практичних додатків користувача. Проте якщо в пріложенді необхідно відстежувати і обробляти помилки, створювати свої функції, в ході виконання додатку генерувати нові об'єкти, обрабативать окремі записи, а не набори записів, організовувати при виникненні різних подій в одному завданні виконання інших задач, доводиться використовувати вбудований в Access об'ектно-орієнтірованна мова програмування Visual Basic for Applications —- VBA (Visual Basic для додатків). При розробці додатків доцільно програмувати ті функції, які не можуть бути реалізовані діалоговими засобами. VBA дозволяє створити в середовищі СУБД Access цілісні графічні діалогові додатки користувача з великими можливостями по управлінню і контролю за їх виконанням, вирішити складні завдання автоматізіровать виконання завдань, встановлюючи зв'язки між різними об'єктами бази даних.
VBA — це загальний засіб програмування для всього сімейства Microsoft Office, включаючи Access, Word, Excel, Outlook і Powerpoint.
Синтаксис, прін- ципи роботи, інструментарій, інтерфейс VBA однакові для всіх додатків Office, хоча кожне представляє свої об'єктні моделі. VBA є похідним від самостійної системи програмування Visual Basic. Додатки, що розробляються на VBA, можуть виконуватися тільки в тому середовищі, в якому підтримується VBA, тоді як Visual Basic орієнтований на повністю самостійну розробку автономних застосувань. VBA має багато загального з Visual Basic. Їх синтаксис і інтерфейс практично однакові. Якщо користувач знайомий з програмуванням на Visual Basic, те освоєння VBA не повинне викликати труднощів.
VBA, забезпечуючи простоту використання об'єктів, створених діалогоїимі засобами Access, дозволяє написати процедури, динамічно створюючі, видаляючі і змінюючі дані і об'єкти в базах даних.VBA також є базовим програмним засобом, на якому створені різні надбудови самого Access, що розширюють його функціональні можливості, наприклад, численні майстри. У простих застосуваннях застосування програм Visual Basic обмежується створенням процедур обробки події і простих процедур-функцій, використовуваних у виразах.
При створенні додатків VBA доцільно використовувати для наступних цілей:
створення нестандартних процедур обробки подій;
створення функцій, що виконують складне обчислення, яке неможливо записати як вираз;
організація комплексного введення параметрів під час виконання програми через діалогове вікно необхідного вигляду;
обробка кожного запису деякого набору;
управління послідовністю виконання команд в програмах складної структури (наприклад, виконання умовного циклу
WHILE. . .WEND);
обробка і усунення помилок, що виникають при роботі додатку, і виведення призначених для користувача повідомлень про них;
створення нових об'єктів і їх елементів під час роботи додатку;
проведення транзакційних операцій;
здійснення доступу до даним інших додатків Office;
відкриття і обробка даних декількох баз в одному застосуванні;
забезпечення доступу до засобів операційної системи, наприклад, перевірка існування файлу на диску.
Хід роботи
Для виконання завдання зробив 2 модуля.
Я розробив модуль, який в залежності від критерій відображає дані в формі різних кольорах. Якщо задовільняється умова Вік гри менше рівне 12 і Носій гри CD, то текст в формі відображається жовтим кольором на бордовому фоні. Якщо ж Носій DVD, то текст чорний на жовтому фоні. В іншому випадку якщо Вік більше 12 і Носій – CD, то текст відображається оранджевим кольором по червоному фоні. Якщо Носій – DVD, то текст червоний по ораджевому фоні. Теж модуль відображає теперішню дату, час та повідомлення (Дата здачі лаби) в заголовку форми.
Лістинг Модуля 1:
Private Sub Form_Current()
Me.Caption = Format(Now, "dd/mm/yy hh:nn (Дата здачі лаби)")
If Вік <= 12 Then
If Носій = "CD" Then
Me![ID Гри].ForeColor = 65535
Me![ID Гри].BackColor = 900
Me![ID Розробника].ForeColor = 65535
Me![ID Розробника].BackColor = 900
Me![ID Видавця].ForeColor = 65535
Me![ID Видавця].BackColor = 900
Me![ID Оцінки].ForeColor = 65535
Me![ID Оцінки].BackColor = 900
Me![Назва гри].ForeColor = 65535
Me![Назва гри].BackColor = 900
Me![Платформа].ForeColor = 65535
Me![Платформа].BackColor = 900
Me![Дата виходу гри].ForeColor = 65535
Me![Дата виходу гри].BackColor = 900
Me![Жанр].ForeColor = 65535
Me![Жанр].BackColor = 900
Me![Веб сторінка].ForeColor = 65535
Me![Веб сторінка].BackColor = 900
Me![Носій].ForeColor = 65535
Me![Носій].BackColor = 900
Me![Вік].ForeColor = 65535
Me![Вік].BackColor = 900
Else
Me![ID Гри].ForeColor = 0
Me![ID Гри].BackColor = 65535
Me![ID Розробника].ForeColor = 0
Me![ID Розробника].BackColor = 65535
Me![ID Видавця].ForeColor = 0
Me![ID Видавця].BackColor = 65535
Me![ID Оцінки].ForeColor = 0
Me![ID Оцінки].BackColor = 65535
Me![Назва гри].ForeColor = 0
Me![Назва гри].BackColor = 65535
Me![Платформа].ForeColor = 0
Me![Платформа].BackColor = 65535
Me![Дата виходу гри].ForeColor = 0
Me![Дата виходу гри].BackColor = 65535
Me![Жанр].ForeColor = 0
Me![Жанр].BackColor = 65535
Me![Веб сторінка].ForeColor = 0
Me![Веб сторінка].BackColor = 65535
Me![Носій].ForeColor = 0
Me![Носій].BackColor = 65535
Me![Вік].ForeColor = 0
Me![Вік].BackColor = 65535
End If
Else
If Носій = "CD" Then
Me![ID Гри].ForeColor = 34535
Me![ID Гри].BackColor = 200
Me![ID Розробника].ForeColor = 34535
Me![ID Розробника].BackColor = 200
Me![ID Видавця].ForeColor = 34535
Me![ID Видавця].BackColor = 200
Me![ID Оцінки].ForeColor = 34535
Me![ID Оцінки].BackColor = 200
Me![Назва гри].ForeColor = 34535
Me![Назва гри].BackColor = 200
Me![Платформа].ForeColor = 34535
Me![Платформа].BackColor = 200
Me![Дата виходу гри].ForeColor = 34535
Me![Дата виходу гри].BackColor = 200
Me![Жанр].ForeColor = 34535
Me![Жанр].BackColor = 200
Me![Веб сторінка].ForeColor = 34535
Me![Веб сторінка].BackColor = 200
Me![Носій].ForeColor = 34535
Me![Носій].BackColor = 200
Me![Вік].ForeColor = 34535
Me![Вік].BackColor = 200
Else
Me![ID Гри].ForeColor = 700
Me![ID Гри].BackColor = 34535
Me![ID Розробника].ForeColor = 700
Me![ID Розробника].BackColor = 34535
Me![ID Видавця].ForeColor = 700
Me![ID Видавця].BackColor = 34535
Me![ID Оцінки].ForeColor = 700
Me![ID Оцінки].BackColor = 34535
Me![Назва гри].ForeColor = 700
Me![Назва гри].BackColor = 34535
Me![Платформа].ForeColor = 700
Me![Платформа].BackColor = 34535
Me![Дата виходу гри].ForeColor = 700
Me![Дата виходу гри].BackColor = 34535
Me![Жанр].ForeColor = 700
Me![Жанр].BackColor = 34535
Me![Веб сторінка].ForeColor = 700
Me![Веб сторінка].BackColor = 34535
Me![Носій].ForeColor = 700
Me![Носій].BackColor = 34535
Me![Вік].ForeColor = 700
Me![Вік].BackColor = 34535
End If
End If
End Sub
Результат виконання макросу:
Я розробив модуль, після запуску якого відображається повідомлення в яке ми вводимо критерій по Носію вибору ігр і відкривається форма, яка відображає тільки ті ігри, які задовільняють цю умову.
Лістинг модуля 2:
Option Compare Database
Public Function Search()
Dim strCriteria, strInput, strMsg As String
strMsg = "Введіть тип носія гри: "
strInput = InputBox(strMsg)
strCriteriaNosiy = BuildCriteria("Носій", dbText, strInput)
DoCmd.OpenForm "Редагування і видалення гри", aсNormal, , strCriteriaNosiy
Exit_Search: Exit Function
End Function
Результат виконання макросу:
Висновки
На цій лабораторній роботі я навчився розробляти модулі та ознайомився з використанням модулів у роботі з формами, таблицями, запитами.