- •Міністерство освіти і науки України
- •Розподіл балів, які отримують студенти при поточному тестуванні та за виконання самостійної роботи
- •Шкала оцінювання: національна та ects
- •Лабораторна робота №1
- •Зміст роботи за варіантом індивідуального завдання Необхідно:
- •Теоретичні відомості
- •Контрольні питання до лабораторної роботи 1:
- •Лабораторна робота №2
- •Зміст роботи за варіантом індивідуального завдання Необхідно:
- •Теоретичні відомості
- •Запити на зміну за допомогою sql
- •Додавання інформації в бд
- •Видалення даних
- •Зміна існуючих даних
- •Запит на створення таблиці
- •Перетворення qbe - запиту в sql-запит
- •Контрольні питання до лабораторної роботи 2:
- •Лабораторна робота №3
- •Зміст роботи за варіантом індивідуального завдання Необхідно:
- •Теоретичні відомості
- •Контрольні питання до лабораторної роботи 3:
- •Лабораторна робота №4
- •Зміст роботи за варіантом індивідуального завдання Необхідно:
- •Контрольні питання до лабораторної роботи 4:
- •Лабораторна робота № 5
- •Зміст роботи за варіантом індивідуального завдання:
- •Теоретичні відомості:
- •Техніка створення макросів
- •Редагування макросу
- •Об'єднання макросів у макрогрупу
- •Зв'язування макросів із подіями
- •Автоматизація виводу на друк
- •Приклад
- •Відлагодження макросу в покроковому режимі
- •Контрольні питання до лабораторної роботи 5:
- •Лабораторна робота № 6
- •Зміст роботи за варіантом індивідуального завдання:
- •Теоретичні відомості:
- •Елементи вікна модуля
- •Малюнок 1 Розділ описів
- •Створення процедури
- •Аргументи процедури
- •Основні оператори vba
- •Умовні оператори
- •Оператори циклу
- •Приклад № 3:
- •Контрольні питання до лабораторної роботи 6:
- •Контроль інформації шляхом забезпечення цілісності даних
- •Каскадне відновлення та видалення даних
- •Відношення багато-до-багатьох
- •Контрольні питання до лабораторної роботи 7:
- •Встановлювання паролю
- •Захист на рівні користувачів
- •Захист бази даних за допомогою майстра
- •Збереження бази даних як mde-файлу
- •Створення mde-файлу
- •Вилучення захисту на рівні користувачів
- •Об’єкти ole
- •Контрольні питання до лабораторної роботи 8:
- •Створення форми
- •Створення електронної або друкованої форми
- •Заповнення електронної форми
- •Одночасне відкриття декількох книг
- •Зміна формату або вмісту існуючого шаблону
- •Закриття книги
- •Створення діаграми
- •Зміна типу діаграми, встановленого за замовчанням
- •Використання об'єктів (комірок, форм, діаграм) в інших додатках (ms Word, PowerPoint та ін.)
- •Створення зображення комірок з прив’язкою до вхідних даних
- •Створення зображення діаграми, комірок або об'єкту
- •3 Для перевірки якості малюнку виберіть параметри як на екрані
- •Поновлення зображення комірок листа Excel
- •Створення звіту Microsoft Access на основі даних списку Microsoft Excel
- •Отримання відомостей від зовнішніх баз даних
- •Контрольні питання до лабораторної роботи 9:
- •Лабораторна робота № 10
- •Зміст роботи за варіантом індивідуального завдання:
- •Теоретичні відомості:
- •Додавання гіперпосилань в базу даних
- •Зв’язування форми із звітом
- •Зв’язування форми з документом Microsoft Office
- •Зв’язування форми з адресатом електронної пошти
- •Публікація об’єкта бази даних як Web-сторінки
- •Огляд таблиці Access як Web-сторінки
- •Модифікація таблиці Access для публікації в Web
- •Папки Web
- •Публікація таблиці Access як Web-сторінки
- •Сторінка доступу до даних
- •Створення сторінки доступу за допомогою Майстра
- •Додавання Web-компонентів Microsoft Office
- •Створіть сторінку доступу з існуючої сторінки
- •Контрольні питання до лабораторної роботи 10:
Оператори циклу
Цикл використовується для кількаразового повторення однієї або декількох інструкцій. Кількість повторень пов'язано з деякою умовою. Найпростішим прикладом використання циклічної конструкції є цикл із лічильником:
Din Лічильник As Integer
For Лічильник = 1 To 10
Print Лічильник
Next Лічильник
Ще один різновид циклу - While-цикл. Умова виконання команд усередині такого циклу визначається деяким умовним оператором.
Dim Лічильник As Integer
Лічильник = 1
Do While Лічильник<>10
Print Лічильник
Loop Лічильник
Приклади
Приклад № 1:
Написати процедуру, яка б після натискання кнопки виводила напис «Введіть число». Якщо користувач ввів 0 – відбувається закриття форми, якщо інше – виводиться напис «Невірне число».
Private Sub Кнопка0_Click()
Dim i As Integer
i = InputBox("Введіть число")
If i = 0 Then
DoCmd.Close acForm, "форма1"
Else
InputBox ("Невірне число")
End If
End Sub
Приклад № 2:
У даному прикладі розглядається процедура опрацювання події, пов'язаної з натисканням кнопки «Вихід» форми, що відкривала декілька таблиць для редагування.
Private Sub ЗакриттяФорми1_Click()
‘В разі помилки перехід на мітку
On Error GoTo Err_ЗакриттяФорми1_Click
‘Закриваємо форму
DoCmd.Close acForm, "Форма1"
‘Зберігаємо зміни, що були зроблені у відкритих
‘ таблицях
DoCmd.Save acTable, "Табель виходу на роботу"
DoCmd.Save acTable, "Утримано"
DoCmd.Save acTable, "Начислено"
‘Закриваємо таблиці
DoCmd.Close acTable, "Табель виходу на роботу"
DoCmd.Close acTable, "Утримано"
DoCmd.Close acTable, "Начислено"
‘Відкриваємо форму “Заставка”
DoCmd.OpenForm "Заставка"
‘В разі помилки вихід з підпрограми
Exit_ЗакриттяФорми1_Click:
Exit Sub
‘Мітка, на яку здійснюється перехід в разі помилки
Err_ЗакриттяФорми1_Click:
‘Видається повідомлення про помилку
MsgBox Err.Description
Resume Exit_ЗакриттяФорми1_Click
End Sub
Приклад № 3:
В наступному прикладі функція повертає текстове значення поточного місяця.
Option Compare Database
Option Explicit
Public Function DoMonth() As String
Dim m
‘Змінній m присвоюється цифрове значення поточного ‘місяця
m = Month(Now())
‘За значенням змінної m функцій присвоюється тектове ‘значення поточного місяця
Select Case m
Case 1
DoMonth = "Січень"
Case 2
DoMonth = "Лютий"
Case 3
DoMonth = "Березень"
Case 4
DoMonth = "Квітень"
Case 5
DoMonth = "Травень"
Case 6
DoMonth = "Червень"
Case 7
DoMonth = "Липень"
Case 8
DoMonth = "Серпень"
Case 9
DoMonth = "Вересень"
Case 10
DoMonth = "Жовтень"
Case 11
DoMonth = "Листопад"
Case 12
DoMonth = "Грудень"
End Select
End Function
Приклад № 4:
В наступному прикладі створюється нова таблиця, поля таблиці та визначається ключ таблиці.
Function CreateNewTable()
Dim dbs As Database
Dim tdfNew As TableDef
Dim Indx As Index
‘Змінна dbs вказує на поточну базу даних
Set dbs = CurrentDb()
‘Змінна tdfNew вказуватиме на нову створену таблицю ‘“Підсумкові дані”
Set tdfNew = dbs.CreateTableDef("Підсумкові дані")
‘Cтворюються поля нової ‘таблиці та задається їх формат
With tdfNew
.Fields.Append .CreateField("Табельний номер", dbInteger)
.Fields.Append .CreateField("Кількість годин", dbInteger)
.Fields.Append .CreateField("Основна зарплатня", dbDouble)
.Fields.Append .CreateField("Сума відпустки", dbDouble)
.Fields.Append.CreateField("Доплата за інтенсивність", dbDouble)
.Fields.Append.CreateField("Доплата за шкідливість", dbDouble)
.Fields.Append .CreateField("Нічні", dbDouble)
.Fields.Append .CreateField("Премія", dbDouble)
.Fields.Append.CreateField("Сума по хворобі", dbDouble)
.Fields.Append.CreateField("Всього начислено", dbDouble)
.Fields.Append.CreateField("Сума до пенсійного фонду", dbDouble)
.Fields.Append.CreateField("Сума прибуткового податку", dbDouble)
.Fields.Append.CreateField("Сума аліментів", dbDouble)
.Fields.Append.CreateField("Сума по виконавчим листам", dbDouble)
.Fields.Append.CreateField("Фонд безробіття", dbDouble)
.Fields.Append.CreateField("Сума до фонду Чорнобиля", dbDouble)
.Fields.Append.CreateField("Всього утримано", dbDouble)
.Fields.Append.CreateField("Сума до виплати", dbDouble)
End With
‘Нова таблиця “Підсумкові дані ” додається до
‘сімейства TableDefs
dbs.TableDefs.Append tdfNew
With tdfNew
'створення унікального індексу (ключа таблиці)
Set Indx = .CreateIndex("SomeIndex")
’Створюється нове індексне поле
Indx.Fields.Append Indx.CreateField("Табельний номер", dbInteger)
‘Встановлюється ознака унікальності поля
Indx.Primary = True
‘Додається нове індексне поле до сімейства Indexes
.Indexes.Append Indx
End With
End Function
Приклад № 5:
В наступному прикладі робляться підрахунки. Є три таблиці, дані з яких підраховуються та заносяться у таблицю “Підсумкові дані”. Для доступу до записів таблиць використовується сімейство RecordSet.
Option Compare Database
Option Explicit
Public Function DoMath()
Dim dbs As Database
Dim Hours As Integer
Dim WholePay, PayMin, PayTax, PensTax As Double
Dim i As Long
‘Змінна dbs вказує на поточну базу даних
Set dbs = CurrentDb()
‘Далі відкриваються записи 4-ох таблиць
Dim Record1 As Recordset
Set Record1 = _
dbs.OpenRecordset("Табель виходу на роботу", dbOpenTable, dbReadOnly)
Dim Record2 As Recordset
Set Record2 = _
dbs.OpenRecordset("Підсумкові дані", dbOpenTable)
Dim Record3 As Recordset
Set Record3 = _
dbs.OpenRecordset("Начислено", dbOpenTable)
Dim Record4 As Recordset
Set Record4 = _
dbs.OpenRecordset("Утримано", dbOpenTable)
‘Переходимо на перший запис кожної таблиці
Record1.MoveFirst
Record3.MoveFirst
Record4.MoveFirst
i = 1
‘ Цикл поки не буде зроблено підрахунки по
‘ всіх записах таблиці
Do While i <= Record1.RecordCount
Hours = 0
Hours = Record1![1-й день]
Hours = Hours + Record1![2-й день]
Hours = Hours + Record1![3-й день]
…………………………………………..
Hours = Hours + Record1![30-й день]
Hours = Hours + Record1![31-й день]
‘Далі йдуть підрахунки
'Підрахунок загальної зарплатні
WholePay = Hours * Record1![Оклад] + Record3![Відпустка] + (Record3![Доплата за інтенсивність] * Hours * Record1![Оклад]) + Record3![Премія] * Hours * Record1![Оклад]
'Загальна сума утримань
PayMin = WholePay * (Record4![Пенсійний фонд] + Record4![Прибутковий податок] + Record4![Аліменти] + Record4![По виконавчим листам] + Record4![Фонд безробіття] + Record4![Фонд Чорнобиля] + Record4![Профсоюзний взнос])
'Прибутковий податок та до пенсійного фонду
Select Case WholePay
Case 17 To 85
PayTax = (WholePay * 10) / 100
Case 86 To 170
PayTax = (WholePay * 15) / 100
Case 170 To 1000
PayTax = (WholePay * 20) / 100
End Select
Select Case WholePay
Case Is <= 150
PensTax = (WholePay * 1) / 100
Case Is > 150
PensTax = (WholePay * 2) / 100
Case Is >= 3000
PensTax = (WholePay * 32) / 100
End Select
‘До таблиці “Підсумкові дані” заносимо дані, що були ‘підраховані
With Record2
.AddNew
![Табельний номер] = Record1![Табельний номер]
![Кількість годин] = Hours
![Основна зарплатня] = Hours * Record1![Оклад]
![Сума відпустки] = Record3![Відпустка]
![Сума за інтенсивність] = Record3![Доплата за інтенсивність] * Hours * Record1![Оклад]
![Сума за шкідливість] = Record3![Доплата за шкідливість] * Hours * Record1![Оклад]
![Сума нічних] = Record3![Нічні] * Hours * Record1![Оклад]
![Сума премії] = Record3![Премія] * Hours * Record1![Оклад]
'![Сума по хворобі] =
![Всього начислено] = WholePay
'Утримання
![Сума до пенсійного фонду] = PensTax
![Сума прибуткового податку] = PayTax
![Сума аліментів] = Record4![Аліменти] * WholePay
![Сума по виконавчим листам] = Record4![По виконавчим листам] * WholePay
![Сума до фонду безробіття] = Record4![Фонд безробіття] * WholePay
![Сума до фонду Чорнобиля] = Record4![Фонд Чорнобиля] * WholePay
![Сума профвзносу] = Record4![Профсоюзний взнос] * WholePay
![Всього утримано] = PayMin
![Сума до виплати] = WholePay - PayMin
.Update
End With
Hours = 0
WholePay = 1
PayMin = 1
PayTax = 1
PensTax = 1
i = i + 1
‘Перехід до наступних записів таблиць
Record1.Move 1
Record3.Move 1
Record4.Move 1
Loop
End Function