
Розробка учбової бази даних у ms access та сторінок доступу до неї
Зміст
Вступ..............................................................................................3
1 Постановка задачі 4
2 Структура бази даних 4
3 Розвязання задачі 6
3.1 Побудова алгоритмів 6
3.2 Побудова нової бази даних 7
3.3 Побудова таблиць 9
3.4 Побудова схеми даних 13
3.5 Побудова форм для введення даних 15
3.6 Побудова звітів 19
3.7 Побудова запитів 23
3.8 Побудова кнопкових форм 25
3.9 Побудова сторінок доступу. 30
Висновок............................................................................................34
4 Список літератури 35
Вступ
База даних - це набір відомостей, що відносяться до визначеної теми чи задачі, такий як відстеження замовлень клієнтів чи супровід музичної колекції. Якщо база даних зберігається не на комп'ютері, чи на комп'ютері зберігаються тільки її частини, відслідковувати відомості можна з цілого ряду інших джерел, які користувач повинний скоординувати й організувати самостійно.
Mіcrosoft Access дозволяє керувати всіма відомостями з одного файлу бази даних. У рамках цього файлу дані можна розділити на окремі контейнери, що називаються таблицями; переглядати, додавати й обновляти дані в таблицях за допомогою електронних форм; знаходити і витягати тільки потрібні дані за допомогою запитів; а також аналізувати чи друкувати дані в заданому макеті за допомогою звітів. Створення сторінок доступу до даних дозволяє користувачам переглядати, обновляти чи аналізувати дані з бази даних через Інтернет.
Щоб зробити дані доступними через Інтернет для створення звітів в інтерактивному режимі, використовуйте сторінку доступу до даних. Mіcrosoft Access відбирає дані з однієї чи більш таблиць і виводить їх на екран з використанням макета, обраного в майстрі форм чи створеного користувачем самостійно. Користувачі можуть працювати з даними за допомогою засобів сторінки доступу до даних.
На першому етапі проектування бази даних необхідно визначити призначення бази даних, як вона буде використовуватися і які відомості вона повинна містити. Знаючи це, можна визначити, які відомості будуть зберігатися в таблицях (теми) і в полях таблиць (подробиці по темах).
База даних повинна відповідати вимогам тих, хто буде безпосередньо з нею працювати. Для цього потрібно визначити теми, що повинна покривати база даних, звіти, що вона повинна видавати, проаналізувати форми, що у даний момент використовуються для запису даних, порівняти створювану базу даних з добре спроектованої, подібної їй базою.
1 Постановка задачі
Розробити базу даних (БД) за учбовою темою "Зарплата", передбачивши в ній декілька таблиць, що звязані між собою відношенням “один до багатьох”, форми для введення даних, звіти для виведення даних, запит щодо зарплати жінок, а також сторінку доступу до даних. Відкриття форм, звітів та запиту оформити через кнопкові форми. Розрахункові поля забезпечити макросами або процедурами. Звіт побудувати групуванням за одним з полів і сортуванням за іншим полем.
2 Структура бази даних
Серед довідкових таблиць зупинимось на двох: "Посади" та "Працівники". Передбачимо ще таблицю облікового характеру "Зарплата". Нехай ці таблиці містять поля та повязані між собою так, як це зображено на наступній схемі, де символом позначено ключове поле:
ПОСАДИ
Посада
Назва
ТарифЗаГодину ПРАЦІВНИКИ
ТабНомер
Прізвище
Імя
По-батькові
Стать
ДатаНародження
Посада
ЗАРПЛАТА
ТабНомер
КількістьГодин
СумаНарахована
Податок
ВнесокПФ
ВнесокФССбр
ВнесокФССл
СумаНаРуки
Рис. 1 - Структура БД "Зарплата"
Нехай типи полів та їх розмір(максимальна кількість символів для даних поля) будуть такими:
Табл. 1 - Основні параметри структури таблиць
Таблиця Поле Тип Розмір
ПОСАДА Посада текстовий 3
Назва текстовий 40
ТарифЗаГодину грошовий
ПРАЦІВНИКИ ТабНомер текстовий 4
Прізвище текстовий 16
Імя текстовий 12
По-батькові текстовий 16
Стать текстовий, "Ч" або "Ж" 1
ДатаНародження дата
Посада текстовий 3
ЗАРПЛАТА ТабНомер текстовий 4
КількістьГодин числовий, цілий
СумаНарахована грошовий
Податок грошовий
ВнесокПФ грошовий
ВнесокФССбр грошовий
ВнесокФССл грошовий
СумаНаРуки грошовий
В деяких рядках Табл. 1 не вказаний розмір, тому що у MS Access він визначається автоматично. Наприклад, розмір поля типу дата дорівнює 8.
Припустимо такі правила обчислення розрахункових полів, вказуючи перед ними назву відповідної таблиці:
ЗАРПЛАТА.СумаНарахована – загальна сума нарахованої зарплати. Обчислюється добутком кількості відпрацьованих годин та тарифу оплати праці за годину.
ЗАРПЛАТА.Податок – прибутковий податок. Обчислюється за підсумовуючою шкалою в залежності від суми нарахованої зарплати, далі позначимо її через S (грн.), а саме, спочатку відкидаємо дробову частину S (тобто копійки), позначаємо результат через S, далі податок накопичується обчисленням процентів з урахуванням інтервалу, до якого належить S:
Табл. 2 - Шкала нарахування прибуткового податку
Інтервал, до якого належить S %
[0;17] 0
(17;85] 10
(85;170] 15
(170;1020] 20
(1020;1700] 30
(1700;) 40
ЗАРПЛАТА.ВнесокПФ – внесок в песійний фонд. Обчислюється за шкалою в залежності від суми нарахованої зарплати S (грн.):
Табл. 3 - Шкала нарахування внесків у пенсійний фонд
Інтервал, до якого належить S Внесок, грн.
[0;150] S*1%
(150;1600] S*2%
(1600; ) 32
ЗАРПЛАТА.ВнесокФССбр – внесок у фонд соціального страхування по безробіттю - обчислюється за шкалою в залежності від суми нарахованої зарплати S (грн.):
Табл. 4 - Шкала нарахування внесків у фонд соціального страхування по безробіттю
Інтервал, до якого належить S Внесок, грн.
[0;1600] S*0.5%
(1600; ) 8
ЗАРПЛАТА.ВнесокФССл – внесок у фонд соціального страхування по непрацездатності - обчислюється за шкалою в залежності від суми нарахованої зарплати S (грн.):
Табл. 5 - Шкала нарахування внесків у фонд соціального страхування по непрацездатності
Інтервал, до якого належить S Внесок, грн.
[0;150] S*0.25%
(150;1600] S*0.5%
(1600; ) 8
ЗАРПЛАТА.СумаНаРуки - заробітна плата, яку працівник отримує через касу. Обчислюється як різниця між загальною нарахованою зарплатою S та сумою податків і внесків.
Побудова звіту здійснюється групуванням за полем Посада та сортуванням за полем Прізвище.
3 Розвязання задачі
3.1 Побудова алгоритмів
Загальна сума нарахованої зарплати обчислюється добутком, тобто:
ЗАРПЛАТА.СумаНарахована = ЗАРПЛАТА.КількістьГодин* ПОСАДИ.ТарифЗаГодину
Якщо позначити функцію, що відокремлює цілу частину, через int, функцію, що знаходить максимум серед двох чисел, через max, функцію, що знаходить мінімум серед двох чисел, через min, то алгоритм знаходження податку P буде таким:
S = int(S)
(1)
P = min(85-17,max(S-17,0))*10/100 +
min(170-85,max(S-85,0))*15/100 +
min(1020-170,max(S-170,0))*20/100 +
min(1700-1020,max(S-1020,0))*30/100 +
max(S-1700,0)*40/100
(2)
Алгоритм знаходження внесків у пенсійний фонд і фонд соціального страхування - відповідно Впф , Вфссбр , Вфссл - буде таким:
Якщо S <= 150
то Впф =S*1/100
інакше Впф =min(S*2/100,32)
КінецьЯкщо
Вфссбр =min(S*0.5/100,8)
Якщо S <= 150
то Вфссл =S*0.25/100
інакше Вфссл =min(S*0.5/100,8)
КінецьЯкщо
Якщо позначити через iif функцію, яка знаходить значення в залежності від значень умови (істина або хибність), то алгоритми для знаходження внесків Впф, Вфссл перепишуться більш компактно:
Впф = iif( S <= 150 , S*1/100 , min(S*2/100,32))
(3)
Вфссл = iif( S <= 150 , S*0.25/100 , min(S*0.5/100,8)) (4)
Що стосується реалізації алгоритму в середовищі MS Access, то необхідно відмітити відсутність там функцій знаходження максимуму та мінімуму декількох чисел. Це означає, що дані функції необхідно самостійно побудувати. Їх вигляд у мові VBA такий:
Private Function max(a, b)
max = iif(a >= b, a, b)
End Function
(5)
Private Function min(a, b)
min = iif(a >= b, b, a)
End Function
(6)
Зауваження: визначені вище функції max та min за своєю назвою (але не за своїм змістом!) є в середовищі MS Access – це функції знаходження максимального(мінімального) значення виразу, який обчислюється на множині даних записів таблиць.
3.2 Побудова нової бази даних
Запуск MS Access здійснюється або через меню персонального компютера, або, якщо це можливо, через піктограму на робочому столі Windows. Нижче (Рис. 2) показаний вигляд першого вікна MS Access:
Рис. 2 - Перше діалогове вікно MS Access
У цьому вікні необхідно визначитись: будувати нову базу даних або відкрити вже існуючу. У свою чергу побудова нової бази даних може здійснюватись безпосередньо користувачем (радіокнопка Новая база данных) або за допомогою майстра (радіокнопка Запуск мастера). Якщо база даних вже існує, то необхідно вибрати її із списку останніх БД, що були в роботі, або вибрати рядок Другие файлы… та знайти базу даних, використовуючи стандартне вікно відкриття файлу Windows. В останньому випадку або у випадку побудови нової бази даних необхідно вказати пристрій, папку та назву файлу бази даних. За угодою файл бази даних отримує назву db1 (db2,db3,…) , а розширеня - mdb. Нехай назва нашого файлу бази даних буде ПРИКЛАД.mdb.
Наступне вікно (Рис. 3)
Рис. 3 - Вікно бази даних MS Access
містить декілька закладок для опрацювання обєктів бази даних Таблицы, Запросы, Формы, Отчеты, Макросы і Модули. Для побудови таблиць необхідно розпочати з закладки Таблицы.
3.3 Побудова таблиць
Перш за все, необхідно побудувати таблиці, поля яких не містять підстановки значень полів з інших таблиць. Такою в нашому прикладі є таблиця ПОСАДИ. Натиснувши кнопку Создать, отримуємо вікно нової таблиці, де можна вибрати один з декількох режимів побудови таблиці. Виберемо режим Конструктор.
Рис. 4 - Вікно вибору режиму створення таблиць
Наступне вікно (Рис. 5) містить три стовпчика для введення назви поля, типу даних поля та приміток.
Рис. 5 - Вікно визначення структури таблиці в режимі конструктора
В ному необхідно ввести розроблені вище поля та їх типи. Для ключових полів треба відмітити їх, увімкнувши піктограму з ключем, що знаходиться на панелі конструктора таблиць (повторне вмикання піктограми знімає ознаку ключового поля). Для таблиці ПОСАДИ ключевим є поле Посада. В нижній частині вікна побудови таблиці в закладці Общие необхідно ввести розмір поля. Так, для поля Посада розміром поля буде 3. Після введення всіх полів та їх розмірів необхідно зберегти структуру таблиці ПОСАДИ. Система пропонує за угодою назву таблица1, а користувач дає свою назву (в даному випадку - посади). Нарешті, закривши вікно, бачимо, що у списку об’єктів, який спочатку був порожнім, зявилось імя посади. Якщо необхідно повернутися до вікна побудови структури таблиці (щоб виправити помилки або переглянути структуру таблиці), треба вибрати у вікні бази даних об’єкт посади та натиснути кнопку Конструктор.
Дещо більше роботи з наступною таблицею ПРАЦІВНИКИ. Крім дій, що були в попередній таблиці, тут ще необхідно забезпечити підстановку значень у поле Посада. Це легко зробити за допомогою майстра підстановок, виклик якого здійснюється в розділі типів даних вікна визначення структури таблиці. Майстер підстановок зробить свою справу за декілька кроків діалогу з користувачем:
Перший крок
Рис. 6 - Вибір способу створення стовпчика підстановки
В цьому вікні (Рис. 6), якщо опрацьовується підстановка поля Стать, необхідно вибрати радіокнопку будет введен фиксированный набор значений для подальшого забезпечення підстановки значеннь "Ч" та "Ж".
Другий крок
Рис. 7 - Вибір значень для стовпчиків підстановки
Вибравши кількість стовпчиків – 1 (Рис. 7), введемо значення "Ч" та "Ж" в стовпчику №1 відповідно в першому та другому рядках.
Третій крок
Рис. 8 - Вибір назви для стовпчика підстановки
На цьому кроці (Рис. 8) необхідно погодитись з назвою підпису (або змінити цю назву) та завершити весь процес створення підстановки.
Якщо опрацьовується підстановка поля Посада, то на першому кроці (Рис. 6) необхідно вибрати радіокнопку столбец подстановки использует значения из таблицы или запроса. В цьому випадку другий крок і всі наступні будуть такими:
Другий крок
Рис. 9 - Вибір таблиці з даними для підстановки
Вибираємо таблицю, поля якої дають дані для підстановки (див. Рис. 9). В нашому прикладі такою таблицею є таблиця ПОСАДИ.
Третій крок.
Рис. 10 - Вибір полів із значеннями
На цьому кроці (Рис. 10) з вікна Доступные поля у вікно Выбранные поля необхідно перемістити ті поля, які в майбутньому допоможуть правильно вибрати той чи інший запис. Так, у прикладі можна обмежитись полями Посада та Назва.
Четвертий крок.
Рис. 11 - Завдання ширини стовпчиків
У цьому вікні (Рис. 11) за угодою вимикач Скрыть ключевой столбец (рекомендуется) увімкнуто, але це далеко не завжди зручно. Досить часто є необхідність у візуалізації значення ключового поля.
Пятий крок.
Рис. 12 - Вибір поля для підстановки
Вибір падає переважно на ключове поле, назва якого може зявитись в процедурах (див. Рис. 12). Таким чином, вибравши у прикладі поле Посада, можна зробити останній крок, який за змістом такий самий, як і у випадку підстановки фіксованих значень, але з іншим значенням підпису.
3.4 Побудова схеми даних
Для забезпечення цілісності бази даних будуємо схему даних. Для цього, залишаючись в закладці Таблица, можна скористатися піктограмою схеми даних . Відкриється вікно схеми даних (Рис. 13)
Рис. 13 - Вікно схеми даних
Якщо таблиць у вікні немає, їх можна вставити, використавши меню MS Access. У випадку, коли таблиця зайва необхідно виділити її, а потім видалити клавішею <Delete>. Якщо у схемі даних немає сполучень, то можна їх додати, протягнувши мишу від першого поля сполучення до другого. Наприклад, стати на поле посада таблиці ПОСАДИ і, утримуючи кнопку миші натиснутою, тягнути її до відповідного поля посада таблиці ПРАЦІВНИКИ. Наслідком такої дії буде відкриття вікна сполучень. Якщо сполучення є, але лінії сполучень закінчуються крапками, то через властивості цих ліній також можна увійти у вікно сполучень (Рис. 14):
Рис. 14 - Вікно визначення параметрів сполучень
В цьому вікні необхідно увімкнути Обеспечение целостности данных, що активізує ще два вимикача відносно каскадного оновлення та видалення даних. Їх, як правило, залишають вимкнутими. Вийти з вікна Связи можна через кнопку Создать. Наслідком буде побудована схема даних. Для прикладу схема даних має наступний вигляд
Рис. 15 - Схема даних БД "Зарплата"
На Рис. 15 зображено зрозумілі позначення відношень "один-до-багатьох", які повязують таблиці в єдину цілісну базу даних.
3.5 Побудова форм для введення даних
Для побудови форм активізуємо закладку Формы вікна бази даних (Рис. 3). Як і для таблиць, побудова об'єкта здійснюється кнопкою Создать.
Рис. 16 - Вікно вибору режиму створення форми
Для створення форм зручно скористатись майстром форм. Крім вибору варіанту технології побудови форми необхідно визначити також базову таблицю для форми. На першому кроці (Рис. 17) майстер форм пропонує визначитись з множиною полів таблиці (таблиць), які вибрано для форми.
Рис. 17 - Вікно вибору таблиць та полів для форми
У прикладі, що розробляється, при побудові форми для таблиці ПОСАДИ необхідно вибрати всі поля. На другому кроці (Рис. 18) майстер дає можливість забезпечити зовнішній вигляд форми структурно виваженим.
Рис. 18 - Вибір зовнішнього вигляду форми
Виберемо вигляд форми в один столбец. На третьому кроці (Рис. 19) майстер забезпечує дизайн форми
Рис. 19 - Вибір оформлення форми
Користувач вибирає той стиль, який йому більше до вподоби. Нарешті, на останньому, четвертому кроці майстер пропонує назвати форму та вибрати варіант наступних дій користувача: відкрити форму для накопичення (редагування) даних або для подальшого редагування форми, яка побудована майстром. Майстер на цьому кроці також дає можливість завантажити вікно-підказку по елементах побудованої форми та правилах роботи з нею.
Майже на одному подиху будується форма і для другої таблиці – ПРАЦІВНИКИ, але, на відміну від побудови форми для таблиці ПОСАДИ, тут бажано при формуванні множини полів потурбуватись про наявність поля Назва з таблиці ПОСАДА. Цей елемент у формі таблиці ПРАЦІВНИКИ допоможе бачити, а при необхідності і виправляти назву посади.
Форма для таблиці ЗАРПЛАТА будується за тими ж правилами, що й попередні, але на відміну від них тут виникає необхідність зосередити певні сили та вміння для побудови обчислень. Спочатку в середовищі майстра формуємо множину полів форми: це всі поля таблиці ЗАРПЛАТА, поля Назва та ТарифЗаГодину з таблиці ПОСАДА, а також поля Прізвище, Імя та По-батькові з таблиці ПРАЦІВНИКИ. Після закінчення звичайної роботи майстра побудови форм необхідно потурбуватись про поля, що обчислюються. Тобто, вже побудовану форму для таблиці ЗАРПЛАТА потрібно редагувати. Для цього її треба відкрити конструктором. Далі головне: необхідно визначитись, в який момент виконувати обчислення? Тут відповідь неоднозначна. Все залежить від вибору подій, після яких виконуються ті чи інші обчислення. Можна рекомендувати обчислення кожного виразу вести, як тільки змінюється значення його аргументів. Після відповіді на це питання в формі ЗАРПЛАТА спочатку забезпечимо обчислення поля СумаНарахована. Значення цього поля залежить від значень двох полів: КількістьГодин та ТарифЗаГодину. У властивостях елементу форми КількістьГодин (Рис. 20)
Рис. 20 - Вікно властивостей поля Кількість годин
вибираємо закладку События, на рівні После обновления замовляємо значення Процедура обработки событий і далі кнопкою відкриваємо вікно модуля (Рис. 21),
Рис. 21 - Вікно модуля, пов’язаного з формою "Зарплата"
де редагуємо відповідну процедуру з назвою КількістьГодин_AfterUpdate (дослівно - КількістьГодин_ПісляОновлення). Тіло цієї процедури буде таким:
СумаНарахована = КількістьГодин* ТарифЗаГодину
Так само будуємо процедуру обробки події оновлення другого аргументу поля СумаНарахована, а саме аргументу ТарифЗаГодину. Тепер буде побудована друга процедура з назвою ТарифЗаГодину_AfterUpdate, в якій тіло процедури співпадає з тілом процедури КількістьГодин_AfterUpdate (отже, можна скористатись буфером обміну замість набору тексту!). Значення інших полів, що обчислюються, також залежать врешті-решт від аргументів КількістьГодин та ТарифЗаГодину. Це означає, що процедури, вже визначені вище, необхідно редагувати додаванням нових інструкцій. Редагування процедур виконується в тому ж вікні модуля, в яке можна потрапити знову ж таки через властивості поля та обробку подій (кнопка ). Беручи до уваги алгоритм, який побудовано вище (формули (1) - (6)), ці процедури набувають такого вигляду:
Dim s As Integer
СумаНарахована = КількістьГодин * ТарифЗаГодину
s = Int(СумаНарахована)
Податок = min(85 - 17, max(s - 17, 0)) * 10 / 100 + _
min(170 - 85, max(s - 85, 0)) * 15 / 100 + _
min(1020 - 170, max(s - 170, 0)) * 20 / 100 + _
min(1700 - 1020, max(s - 1020, 0)) * 30 / 100 + _
max(s - 1700, 0) * 40 / 100
ВнесокПФ = IIf(СумаНарахована <= 150, _
СумаНарахована * 1 / 100, min(СумаНарахована * 2 / 100, 32))
ВнесокФССбр = min(СумаНарахована * 0.5 / 100, 8)
ВнесокФССл = IIf(СумаНарахована <= 150, _
СумаНарахована * 0.25 / 100, min(СумаНарахована * 0.5 / 100, 8))
СумаНаРуки = СумаНарахована - (Податок + ВнесокПФ + ВнесокФССбр +
Крім названих вище процедур необхідно записати в цьому ж модулі функції max та min:
Private Function max(a, b)
max = IIf(a >= b, a, b)
End Function
Private Function min(a, b)
min = IIf(a >= b, b, a)
End Function
Пояснення:
1. Інструкція Dim s As Integer у мові VBA означає опис типу змінної s, а саме, її тип визначено як цілий.
2. Знак "_" в кінці тексту деяких рядків процедур означає перенесення частини поточної інструкції на новий рядок.
Зауваження: Критерій вибору обробки подій у даному прикладі може не привести до бажаного результату, якщо зміни аргументів вже проведені за межами форми. Тому при необхідності можна запропонувати обробляти подію Выход. Відповідні процедури будуть ідентичними до записаних вище.
Остаточний вигляд форми для таблиці ЗАРПЛАТА зображено на Рис. 22.
Рис. 22 - Остаточний вигляд форми для таблиці ЗАРПЛАТА
3.6 Побудова звітів
Нагадаємо: звіт необхідно побудувати групуванням за полем Посада, сортуванням за полем Прізвище. Повертаємось до вікна бази даних (Рис. 3) та вибираємо закладку Отчеты. Кнопкою Создать починаємо роботу з побудови звіту (Рис. 23). Тут, як і у випадку побудови форми, зручно скористатись майстром . Крім вибору варіанту технології побудови звіту необхідно визначитись з базовою таблицею для звіту.
Рис. 23 - Вікно вибору варіанту створення звіту
На першому кроці (Рис. 24) майстер звіту пропонує визначитись з множиною полів для вибраної таблиці (таблиць).
Рис. 24 - Вікно вибору списку полів для звіту
Крім всіх полів таблиці ЗАРПЛАТА, виберемо поля Назва та ТарифЗаГодину з таблиці ПОСАДА, а також поля Прізвище, Імя, По-батькові та Посада з таблиці ПРАЦІВНИКИ.
На другому кроці (Рис. 25) майстер пропонує вибрати таблицю, що є базовою. Цю таблицю вже оголошено на самому початку побудови звіту, тому за угодою майстер саме її виділяє радіокнопкою:
Рис. 25 - Вибір базової таблиці
Третій крок (Рис. 26) – крок групування даних. Тут вибираємо поле Посада (яке належить таблиці ПРАЦІВНИКИ!):
Рис. 26 - Групування даних звіту
Четвертий крок майстра (Рис. 27) присвячений сортуванню, де для нашого прикладу обмежимось одним рівнем сортування, а саме, сортуванням по полю Прізвище:
Рис. 27 - Сортування даних звіту
Скористаємось на цьому кроці можливістю підвести підсумки по полях, що обчислюються. Це можна зробити, якщо натиснути на кнопку Итоги (Рис. 28):
Рис. 28 - Вибір підсумкових значень
На пятому кроці (Рис. 29) здійснюється вибір форми звіту, в тому числі, ориєнтації звіту. Оскільки у нашому прикладі вибраних полів досить багато, то з метою розміщення рядка звіту на одній сторінці формату А4 вибираємо альбомну орієнтацію звіту, а макет – той, що до вподоби:
Рис. 29 - Вибір вигляду макету звіту
Пройшовши шостий крок майстра – крок вибору стилю, потрапляємо на фінальну стадію діалогу – завдання назви звіту та вибору наступних дій: перегляду звіту, або його редагування. Як бачимо, остані кроки майстра побудови звіту дуже схожі на відповідні кроки майстра побудови форм.
Примітка:
1. За послідовність вибраних полів майстер не відповідає. На це треба зважити, коли вибираємо поля. Під час вибору наступного поля необхідно забезпечити у вікні вибраних полів їх послідовність за рахунок пересування по рядках цього вікна на той чи інший рівень.
2. Коли звіт містить багато полів, результат автоматичного їх розміщення у звіті, як правило, не задовольняє користувача. А це означає, що після роботи майстра необхідно конструктором доопрацювати дизайн, а то й просто читабельність звіту.
3.7 Побудова запитів
Відповідно до постановки задачі, будуємо запит про зарплату жінок. Знову повертаємось у вікно бази даних (Рис. 3) та вибираємо закладку Запросы. Натиснувши кнопку Создать, будуємо запит за допомогою Конструктора. В результаті зявляється вікно (Рис. 30), у верхній частині якого необхідно розмістити ті таблиці, інформація з яких цікавить користувача, (поступове додавання таблиць здійснюється у вікні Добавление таблиц). У нижній частині вікна необхідно вказати поля, які використовуються у запиті, в тому числі ті, що якісно впливають на запит, але значення яких не виводяться. Так, для прикладу вибрано чотири поля: Прізвище, Назва (посади), СумаНарахована та Стать. Причому визначено сортування по полю Прізвище, а вибірка здійснюється по значенню "Ж" поля Стать, яке не виводиться.
Зауваження: для вибору полів спочатку необхідно визначитись з відповідною таблицею, а потім вибрати поле.
Щоб внести інформацію про сортування, значення вибірки тощо, необхідно у нижній частині вікна (тут діє так звана розмітка QBE - це набір текстових вікон, які мають назву комірок, за допомогою яких здійснюється опис запиту) стати на перехрестя відповідного рядка і стовпчика. Одержимо такий формат запиту:
Рис. 30 - Вікно побудови запиту
Після визначення назви запиту (наприклад, "Жінки"), його можна виконати (відкрити). В результаті одержимо результат у вигляді таблиці (Рис. 31):
Рис. 31 - Вікно результатів запиту
Зауваження. Табличний вигляд результатів запиту викликає питання: чи можна в цій таблиці виконувати редагування (змінювати, додавати, видаляти записи)? Відповідь, взагалі кажучи, негативна. Можна відповісти на це питання "ТАК" та виправити, наприклад, прізвище. Це призведе до того, що в таблиці ПРАЦІВНИКИ відповідне прізвище теж зміниться. Так само зміняться значення й інших полів, якщо їх редагувати в запиті. Таким чином, у деяких результатах запитів (не завжди) користувач має можливість зміни значень полів. Але така можливість не поширюється на значення ключових полів. При спробі виправити значення ключового поля на таке, що не належить множині значень у відповідній таблиці-довіднику, MS Access відреагує та вкаже на помилку. Цікава ситуація виникає при спробі додати записи в такому простому запиті. Додавання можливе, але всі поля, що обчислюються в формі для введення записів (див. Рис. 22), тут не можуть бути обчислені, і без такої автоматизації додавання записів не можна допускати. Так само користувач може додати записи, які суперечать умові виборки. Ці записи додаються, але при наступному відкритті запиту вони, зрозуміло, не входять в його таблицю. Висновок: у вікні результатів запиту редагування не бажане!
3.8 Побудова кнопкових форм
Побудова кнопкових форм – це ще одна стадія виконання учбового завдання. Здійснюється вона вибором закладки Формы вікна бази даних (Рис. 3) за допомогою кнопки Создать та Конструктора. На відміну від побудови форм для введення даних, тут немає потреби у визначення таблиць та їх полів. Головний технологічний прийом для виготовлення кнопкової форми – це розміщення елементів управління Кнопка у площині форми та надання цим елементам однієї властивості (функції): завантаження того чи іншого обєкта. Крім цього, звичайно необхідно потурбуватись про дизайн форми: вибрати малюнок для фону, вдало розмістити кнопки, а також вибрати їх розмір, картинку або підпис на них. Згідно з завданням, необхідно побудувати кнопкову форму, з якої можна відкривати форми, звіти, запити. Розробимо таку кнопкову форму, яка може відкривати інші кнопкові форми або безпосередньо розроблені обєкти. А саме, нехай головна кнопкова форма (дамо їй назву "Приклад") буде містити три кнопки з назвами "Довідники", "Облік", "Документ". Нехай кнопка "Довідники" головної кнопкової форми буде відкривати іншу кнопкову форму (дамо їй назву "Довідники"), яка, в свою чергу, буде містити дві кнопки з назвами "Посади" та "Працівники". Функція цих кнопок – відкриття однойменних розроблених вище форм.
Рис. 32 – Вибір фонового малюнка форми у вікні побудови форм
Нарешті, нехай кнопки "Облік" та "Документ" головної кнопкової форми будуть забезпечувати відкриття форми "Зарплата" та звіту "Жінки ". В якості фону двох кнопкових форм "Приклад" та "Довідники" підберемо або побудуємо малюнки (bmp-файли). Визначимось із розміром форм. Візьмемо ширину та довжину 4 і 7 см відповідно.
Спочатку розробимо форму "Довідники", оскільки до цієї форми буде звернення з форми "Приклад", і тому її треба зробити раніше, ніж форму "Приклад". Відкриваємо закладку Форми та кнопкою Создать починаємо розробку. Вибираємо режим Конструктор, не вказуючи таблицю або запит (вони зараз непотрібні!). Встановлюємо розміри форми 4х7 та визначаємо малюнок за допомогою вікна властивостей форми і закладки Макет у цьому вікні (Рис. 32).
Потім розміщуємо кнопку Посади. Для цього вмикаємо панель інструментів (якщо її на екрані монітору немає) і, попередньо вмикаючи на цій панелі кнопку майстра побудови елементів управління, вибираємо елемент Кнопка і вказуємо мишею на місце його розміщення на кнопковій формі. Після цього майстер побудови елементу управління пропонує діалог:
Перший крок – вибір категорії та дії (Рис. 33). Тут в залежності від категорії відкривається відповідна множина дій. Вибираємо категорію Работа с формой та дію Открытие формы.
Рис. 33 - Вибір категорії та дії, яку виконує натиснення кнопки
Другий крок – вибір форми (Рис. 34). Вибираємо форму Посади
Рис. 34 - Вибір форми, що відкривається натисненням кнопки
Третій крок – вибір множини записів (Рис. 35). Вибираємо Открыть форму и показать все записи
Рис. 35 - Вибір множини записів
Четвертий крок – вибір обєкта, який розміщується на кнопці: текст або малюнок (Рис. 36). Вибираємо текст і змінюємо текст Открытие формы на Посади.
Рис. 36 - Вибір текста або малюнка для розміщення на кнопці
Пятий (останній) крок – визначення ідентифікатора (назви) елемента управління (Рис. 37). Тут погоджуємось із запропонованим ідентифікатором.
Рис. 37 - Визначення назви елемента управління
Тепер кнопка "Посади" готова. Аналогічно їй будуємо в кнопковій формі "Довідники" кнопку "Працівники". Нарешті, необхідно змінити значення деяких властивостей форми, які пропонуються конструктором форм за угодою у випадку конструювання форм для таблиць. Зведемо ці зміни у Табл. 6.
Табл. 6 - Встановлення властивостей кнопкової форми
Властивість Значення за угодою Встановлене значення
Полосы прокрутки Все Осутствуют
Область выделениия Да Нет
Поле номера записи Да Нет
Разделительные линии Да Нет
Рис. 38 - Зовнішній вигляд форми "Довідники"
Зберігаємо розроблену форму під назвою "Довідники" (Рис. 38).
При розробці кнопкової форми "Приклад" слід забезпечити відкриття кнопкової форми "Довідники" кнопкою "Довідники", відкриття форми "Зарплата" - кнопкою "Облік", відкриття запиту "Жінки" - кнопкою "Документ" (для цього на першому кроці діалогу з майстром побудови елемента управління необхідно вибрати категорію Разное та дію Запуск запроса). Заголовок форми розміщуємо у верхній частині форми за допомогою інструмету , вибираючи шрифт, його розмір та колір. В результаті зовнішній вигляд форми "Приклад" може бути таким (Рис. 39):
Рис. 39 - Зовнішній вигляд форми "Приклад"
Тепер робота з нашими кнопковими формами нагадує роботу із стандартним прикладним програмним забезпеченням. На Рис. 40 - Рис. 42 зображено декілька відеокадрів, які виникають під час роботи з формами.
Рис. 40 - Відкриття кнопкової форми "Довідники"
Рис. 41 - Відкриття форми "Працівники"
Рис. 42 - Відкриття запиту "Жінки"
3.9 Побудова сторінок доступу.
Побудова сторінок доступу – це фінальна стадія виконання учбового завдання.
Як і форми, цей об’єкт слугує для забезпечення доступу до даних, що містяться в базі, але тут мова йде про віддалений доступ, наприклад про доступ через Інтернет. При допомозі сторінок доступу до даних розв’язується питання передачі даних з бази віддаленому користувачу. Зазвичай бази даних мають великі розміри, і напряму передавати їх через повільні канали зв’язку непрактично. В той же час більшість сучасних Web-броузерів поки не мають функцій для роботи з базами даних, що розташовані на серверах. Таким чином, сторінки доступу виконують як би посередницьку функцію. Вони мають невеликий розмір, містять зручні елементи для навігації в базі даних, можуть бути записані в форматі коду HTML, передані в стандартному броузері. В зв’язку з тим, що за форматом вони є Web-документами, їх неважко вбудувати в довільний Web-документ, наприклад, розмістити на Web-сторінці.
Від інших об’єктів бази даних сторінки доступу відрізняються тим. Що мають подвійну природу. Інші об’єкти бази є внутрішніми. Так. Наприклад, ми не можемо виділити ні таблицю, ні запит, ні форму у вигляді самостійного файлу. Ці об’єкти розміщуються десь всередині файлу бази даних, але операційна система комп’ютера працювати з ними не може, оскільки це не файли. З ними працює лише система управління базою даних. Сторінка ж представлена двома об’єктами – внутрішнім об’єктом бази (його можна редагувати) і зовнішнім об’єктом – файлом в форматі HTML. Запис цього файлу відбувається при збереженні спроектованої сторінки доступу.
Для створення сторінки доступу повертаємось у вікно бази даних та вибираємо закладку Страницы . Найзручніше скористатися майстром сторінок доступу, оскільки для сторінок доступу, як і для форм, важливу роль відіграє зовнішній вигляд. На першому кроці (Рис.43) майстер сторінок доступу пропонує обрати таблицю, з якої братимуться поля, а також визначитися з множиною полів, до яких повинна забезпечити доступ сторінка.
Рис.43 Вікно вибору списку полів для сторінки.
У нашому прикладі при побудові сторінки доступу необхідно обрати таблицю Працівники і вибрати всі поля. Другий крок (Рис.44) майстер призначений для керування групуванням даних. Якщо значення в деякому полі часто повторюються, є сенс об’єднати відповідні їм записи в групу. В результаті групування утворюється ієрархічна структура. Вона може мати декілька рівнів вкладення. Оберемо поле Прізвище, а запропоноване автоматично відправимо назад в загальний список.
Рис. 44 Групування даних сторінки.
На третьому кроці (Рис.45) майстер дозволяє обрати метод впорядкування даних. Можливе задання до чотирьох полів сортування, причому сортування можливе як по зростанню, так і по спаданню. В нашому прикладі дамо виконавцю можливість зробити все за своїм смаком, або ж нічого не робити на даному кроці.
Рис.45 Сортування даних сторінки.
На останньому четвертому кроці (Рис. 46) виконується збереження сторінки під заданим ім’ям. Тут же можна перейти в режим конструктора, ввімкнувши перемикач Изменить макет страницы. В цьому випадку до сторінки можна застосувати одну з тем оформлення, що входять в склад пакету Microsoft Office. Теми оформлення є сукупністю стилів оформлення текстів, фонових візерунків та специфічних елементів оформлення сторінки (маркерів, ліній і т.д.).Також майстер дозволяє відкрити сторінку. Оберемо цей варіант і натиснемо кнопку Готово.
Рис. 46 Останній крок майстра сторінок.
Остаточний вигляд сторінка доступу показано на рис. 47. Редагувати сторінку доступу можна, відкривши її в режимі конструктора. Редагування виконується аналогічно, як і для форм. Основними відмінностями є: наявність більшої кількості розділів (пов’язано з можливістю групування); розширений склад елементів керування на панелі елементів; інший механізм перетягування елементів керування та приєднаних надписів (елементи керування перетягуються разом з приєднаними надписами, але приєднані надписи перетягуються окремо від елементів керування).
Рис. 47 Сторінка доступу до даних.
Висновок
В даній курсовій роботі я розробила учбову базу даних, а також різноманітні складові бази даних, зокрема сторінки доступу до даних. Дана курсова робота є гарним посібником для побудови різних баз даних як для початківців так і для досвідчених користувачів.
Для збереження даних було створено по одній таблиці на кожен тип відомостей, що відслідковуються. Для об'єднання даних з декількох таблиць у запиті, формі, звіті чи на сторінці доступу до даних визначено зв'язок між таблицями.
Для пошуку і висновку даних, що задовольняють заданим умовам, включаючи дані з декількох таблиць, було створено запит. Запит також може обновляти чи видаляти кілька записів одночасно і виконувати стандартні чи користувальницькі обчислення з даними
Для простоти перегляду, введення і зміни даних безпосередньо в таблиці було створено форми, а також кнопкові форми. При відкритті форми Mіcrosoft Access відбирає дані з однієї чи більше таблиць і виводить їх на екран з використанням макета, обраного в майстрі форм чи створеного користувачем самостійно.
Щоб зробити дані доступними через Інтернет для створення звітів в інтерактивному режимі було використано сторінку доступу до даних. Mіcrosoft Access відбирає дані з однієї чи більш таблиць і виводить їх на екран з використанням макета, обраного в майстрі форм чи створеного користувачем самостійно. Користувачі можуть працювати з даними за допомогою засобів сторінки доступу до даних.
4 Список літератури
1. Вейскас Д. Эффективная работа с Microsoft Access 7.0 для Windows 95/ Перев. с англ. – СПб.: Питер, 1997. – 848 с.
2. Крамм Р. Системы управления базами данных dBASEII для персональных компьютеров. – М.: Финансы и статистика, 1988. – 283 с.
3. Каратыгин С.А., Тихонов А.Ф., Тихонова Л.Н. Работа в Visual FoxPro на примерах: М: БИНОМ, 1995. – 512 с.