- •Створення та експлуатація баз даних.
- •Створення та експлуатація баз даних.
- •Створення та експлуатація баз даних.
- •Бази даних
- •Основні поняття
- •Етапи роботи з бд
- •Реляційна бд
- •Учбова бд
- •Бд на основі еп Excel
- •Створення і використання даних бд
- •Сортування та фільтрація даних
- •Створення проміжних підсумків
- •Аналіз даних бд з допомогою графіків і діаграм
- •Створення довідок та звітів
- •Створення кнопки для запиту, створеному на vba
- •Використання субд Access для створення та експлуатації бд
- •Перші кроки в освоєнні Access
- •Типи даних, що використовуються в базі даних
- •Підготовчі операції до створення структури бд
- •Studenti
- •Створення структури бд
- •Встановлення зв’язку між таблицями
- •Введення та редагування даних
- •Створення qbe – запиту на вибірку
- •Створення sql – запиту на вибірку
- •Запити на зміну бд
- •Insert into таблиця бд ([перелік полів таблиці])
- •Values (значення полів таблиці у відповідності зі структурою таблиці);
- •Insert into таблиця бд ([перелік полів таблиці])
- •4 Завдання до курсової (розрахунково-графічної) роботи
- •Література
- •Завдання для курсових і розрахунково-графічних робіт
- •Задача 6
- •Задача 7
- •Задача 8
- •Задача 9
- •Задача 10
- •Задача 19
- •Задача 20
- •Задача 21
- •Задача 25
- •Задача 26
- •Задача 27
- •Задача 28
- •Задача 29
Аналіз даних бд з допомогою графіків і діаграм
Числові дані таблиць БД можна наглядно представити для порівняння та аналізу з допомогою майстра діаграм. Його виклик відбувається командою ВставкаДиаграмма або кнопкою на панелі інструментів. З’являється вікно майстра діаграм (рисунок 8).
Вікно містить дві вкладники “Стандартные” і “Нестандартные” діаграми. В лівому нижньому кутку міститься довідка, яка дасть відповіді на питання, що можуть виникнути у користувача під час побудови. “Просмотр результата” дозволить переглянути загальний вигляд діаграми до виведення на екран.
Рисунок 8 – Перше вікно „Мастера диаграмм”
Використовуючи підказки наступних трьох кроків, одержуємо очікувану діаграму. На аркуші Excel вона являється графічним об’єктом, а тому стандартними методами Windows її можна перемістити в інше місце, змінити її розміри. На рисунку 9 приведена діаграма для аналізу середніх балів студентів, занесених в БД.
Рисунок 9 – Діаграма аналізу
Створення довідок та звітів
Якщо дані, потрібні для довідок та звітів знаходяться в одній таблиці БД, то такі документи можна одержати з допомогою команд секції меню Данные так, як це було показано раніше.
Якщо ж в довідку чи звіт потрібно включити дані із різних таблиць, такі документи потрібно готувати з допомогою модулів написаних на мові Visual Basic for Excel. Для виклику вікна програм потрібно виконати команду СервисМакросМакросы.
Нагадаємо, що мова Visual Basic є об’єктно-орієнтованою мовою. Об’єктами в ЕП Excel вважаються:
книга – Workbook;
аркуш – Worksheets;
комірка на аркуші – Cells(i, j), де i, j – номер рядка і стовпця, на перетині яких знаходиться об’єкт;
діапазон комірок – Range(“D1:D2”), де D1, D2 – діагональні адреси діапазону комірок.
Схематично об’єкти ЕП Excel представлені на рисунку 10.
Звертання ведеться по ієрархічному закону. Наприклад, Workbook(“A:\книга2”).Worksheets(3).Cells(i, j). Тут іде звертання до комірки, що знаходиться в рядку, номер якого зберігається в змінній і, в стовпці з номером j, третього аркуша, книги, що зберігається в файлі з іменем книга2.xls на кореневому директорії А:.
Якщо звертання ведеться до активної книги чи активного аркуша, то їх позначення в звертанні можна опускати.
Рисунок 10 – Схема ієрархії об’єктів в ЕП Excel
Кожний об’єкт має свої властивості та методи. Властивості – це установки, які можна перевірити та змінити (товщина контуру, тип шрифту, значення комірки і т.д.). Worksheets(4).Range(“B4”).Value = ”Інформатика”. В комірку В4 аркуша 4 буде записаний текст “Інформатика”. Методи – дії, які може виконати об’єкт, якщо програма йому це загадає. Worksheets(2).Name = ”Grupi”. Аркушу 2 активної книги присвоюється ім’я ”Grupi”.
Для того щоб визначити властивість об’єкта, його засилають в змінну пам’яті, а потім її переглядають:
x = Range(“B4”).Font.Size
MsgBox “Значення маштабу шрифту в комірці В4 = ”&str(x)
Працюючи з таблицями, їх приходиться в програмах оконтурювати. Це робиться таким чином, щоб тип лінії та її товщина вказувались для кожного боку об’єкту.
Тип лінії об’єкту задається властивістю Selection.Borders(<розміщення>).Linestyle=<тип лінії>, а її товщина: Selection.Borders(<розміщення>).Weight=<товщина>.
В цих записах <розміщення> може приймати такі значення:
xlEdgeRight – праворуч;
xlEdgeLeft – ліворуч;
xlEdgeTop – зверху;
xlEdgeBottom – знизу.
<Тип лінії> може приймати значення:
xlContinuous – сплошна;
xlDash – пунктирна;
xlDashDot – штрихпунктирна;
xlDot – крапками;
xlDouble – подвійна;
xlLineStyleNone – пусто.
<Товщина> може мати значення:
xlHairlinie – дуже тонка;
xlThin – тонка;
xiMedium – середньої товщини;
xlThick – товста.
Розглянемо приклад, створення запиту. Із створеної БД (рисунок 4) потрібно роздрукувати оцінки по дисциплінам сесії та отримати середній бал, для студентів заданої групи. Будемо вважати, що в задану сесію здавалися дисципліни: РПС, вища математика, інформатика. Для цього із таблиці “Студенти” (лист 1) з допомогою таблиці “Групи” (лист 2) вибираємо студентів лише заданої групи, а потім в таблиці “Оцінки” (лист 3) вибираємо їх оцінки. На листі 4 розмістимо таблицю “Дисципліни”.
В кінці циклу перегляду таблиці “Студенти” заповнюємо поле середнього балу. Алгоритм розв’язку такої задачі представлений на рисунку 11.
Рисунок 11 – Блок-схема запиту БД “Університет”
Програмна реалізація алгоритму представленого на рисунку 11:
Sub Університет()
Dim i As Integer, j As Long, l As Byte
Dim x1 As Byte, x2 As Byte, x3 As Byte, k1 As Byte
Dim k As Byte, s As Single
Worksheets(5).Name = "REZ"
Worksheets("REZ").Range("A1:Z100").Delete
'
'
' РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА
' студента ФЕФ 2-го курсу групи ФК-81
' Короля Є.Д.
' Довідка про успішність заданої групи
'
MsgBox " РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА " & Chr(13) & _
" студента ФЕФ 2-го курсу групи ФК-81 " & Chr(13) & _
" Короля Є.Д. " & Chr(13) & _
" про успішність заданої користувачем групи " & Chr(13) & _
" за останню сесію."
' Введення початкових даних
N$ = InputBox("Введіть назву групи", "Група")
x1 = InputBox("Введіть код першої іспитової дисципліни", "X1", 0)
x2 = InputBox("Введіть код другої іспитової дисципліни", "X2", 0)
x3 = InputBox("Введіть код третьої іспитової дисципліни", "X3", 0)
n1 = InputBox("Введіть номер останнього рядка таблиці СТУДЕНТИ")
n2 = InputBox("Введіть номер останнього рядка таблиці ГРУПИ")
n3 = InputBox("Введіть номер останнього рядка таблиці ОЦІНКИ")
n4 = InputBox("Введіть номер останнього рядка таблиці ДИСЦИПЛІНИ")
' Заповнення шапки таблиці
Worksheets("REZ").Range("c2").Value = "Успішність"
Worksheets("REZ").Range("b3").Value = " групи " & N$ & " по заданним дисциплінам"
Worksheets("REZ").Range("a5").Value = "№ залікової книжки"
Worksheets("REZ").Range("b5").Value = "Прізвище І.П."
For i = 6 To n4
If Worksheets(4).Cells(i, 1).Value = x1 Then
Worksheets("REZ").Range("c5").Value = Worksheets(4).Cells(i, 2).Value
End If
If Worksheets(4).Cells(i, 1).Value = x2 Then
Worksheets("REZ").Range("d5").Value = Worksheets(4).Cells(i, 2).Value
End If
If Worksheets(4).Cells(i, 1).Value = x3 Then
Worksheets("REZ").Range("e5").Value = Worksheets(4).Cells(i, 2).Value
End If
Worksheets("REZ").Range("f5").Value = "Середній бал"
Next i
k = 6 ' Параметр цикла для Worksheets("REZ")
For i = 6 To n1 ' Параметр цикла для 1-го аркуша
M = 0 '
For j = 6 To n3 + 1 ' Параметр цикла для 3-го аркуша
If Worksheets(1).Cells(i, 1).Value = Worksheets(3).Cells(j, 1).Value Then
Select Case Worksheets(3).Cells(j, 3).Value
Case x1
k1 = 3
Case x2
k1 = 4
Case x3
k1 = 5
End Select
'MsgBox " K1=" & Str(k1) & Worksheets(1).Cells(i, 1).Value & "i=" & Str(i) & "j=" & Str(j)
End If
For l = 6 To n2 ' Параметр цикла для 2-го аркуша
'MsgBox Worksheets(2).Cells(l, 1).Value + Worksheets(1).Cells(i, 3).Value + N$
If Worksheets(2).Cells(l, 1).Value = Worksheets(1).Cells(i, 3).Value _
And Worksheets(1).Cells(i, 1).Value = Worksheets(3).Cells(j, 1).Value Then
If Trim(Worksheets(2).Cells(l, 1).Value) = Trim(N$) Then
Worksheets("REZ").Cells(k, 1).Value = Worksheets(1).Cells(i, 1).Value
Worksheets("REZ").Cells(k, 2).Value = Worksheets(1).Cells(i, 2).Value
Worksheets("REZ").Cells(k, k1).Value = Worksheets(3).Cells(j, 4).Value
M = M + 1
GoTo 50
End If
End If
Next l
If Worksheets("REZ").Cells(k, k1).Value = " " Then
MsgBox (" Неправильно задана назва групи " & N$)
GoTo 50
End If
50 Next j
If M <> 0 Then k = k + 1
Next i
With Worksheets("REZ")
For i = 6 To k - 1
s = 0
If .Cells(i, 3).Value <> 0 Then s = s + .Cells(i, 3).Value Else GoTo 100
If .Cells(i, 4).Value <> 0 Then s = s + .Cells(i, 4).Value Else GoTo 100
If .Cells(i, 5).Value <> 0 Then s = s + .Cells(i, 5).Value Else GoTo 100
.Cells(i, 6).Value = s / 3: GoTo 200
100 .Cells(i, 6).Value = "БОРЖНИК"
200 Next i
'
' Контури таблиці
'
For j = 1 To 6
For i = 5 To k - 1
Worksheets("REZ").Cells(i, j).Activate
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).Weight = xlThin
Selection.Borders(xlEdgeRight).Weight = xlThin
Selection.Borders(xlEdgeTop).Weight = xlThin
Selection.Borders(xlEdgeBottom).Weight = xlThin
Next i
Next j
End With
MsgBox " ПРОГРАМА РОБОТУ ЗАВЕРШИЛА"
End Sub
Рисунок 12 – Результат роботи програми “Університет”