Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра прикладної математики
Звіт
до лабораторної роботи №5
з дисципліни “Бази даних та інформаційні системи”
на тему :
“ Забезпечення цілісності в СУБД Access ”
Тема: Обмеження цілісності
Мета: Забезпечити обмеження цілісності, що задані в предметній області
Обмеження цілісності:
Кімната не може одночасно бути здана двом орендарям.
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim sql As String
sql = "SELECT [ID-орендаря] as idOr, [ID-приміщення] as idPr, [Дата початку] as beginDate, [Дата кінця] as endDate FROM Оренда"
Set rs = CurrentDb.OpenRecordset(sql)
Do While (rs.EOF = False)
If Me!numberRoom = rs!idPr And Not Me!numberRoom = Me!idPr Then
If Me!BeginDate >= rs!BeginDate And Me!BeginDate < rs!EndDate Then
MsgBox ("Приміщення зайняте з " & rs!BeginDate & " до " & rs!EndDate)
Cancel = 1
rs.Close
Exit Sub
End If
If Me!BeginDate < rs!BeginDate And Me!EndDate > rs!BeginDate Then
MsgBox ("Приміщення зайняте з " & rs!BeginDate & " до " & rs!EndDate)
Cancel = 1
rs.Close
Exit Sub
End If
End If
rs.MoveNext
Loop
rs.Close
If Me!EndDate < Me!BeginDate Then
MsgBox ("Дата кінця введена некоректно")
Cancel = True
End If
End Sub
Система повинна враховувати надходження оплати від орендарів по рахунках.
Private Sub sumaOriginal_Enter()
Dim sql As String
Dim sq As Double
sql = "SELECT [Приміщення].[Площа] as [Square] FROM Приміщення WHERE Приміщення.[ID-приміщення]=" & Me!numberRoom.Value
Set rs = CurrentDb.OpenRecordset(sql)
If rs.RecordCount > 0 Then
sq = rs!Square
Else
sq = 0
End If
rs.Close
sql = "SELECT [Ціна за квадр метр] as price FROM [Тип приміщення] WHERE [ID-типу]=" & Me!Приміщення!roomType.Value
Set rs = CurrentDb.OpenRecordset(sql)
If rs.RecordCount > 0 Then
sq = sq * rs!price
End If
Me!sumaOriginal = sq
Me!sumaPDV = sq * 1.2
Call payedF
End Sub
Public Sub payedF()
Dim sql As String
sql = "SELECT SUM([Сума оплати]) as payed FROM Оплата WHERE [ID-орендаря]=" & Me!OrendarName & " GROUP BY [ID-орендаря]"
Set rs = CurrentDb.OpenRecordset(sql)
If rs.RecordCount > 0 Then
Me!payed = rs!payed
Else
Me!payed = "0"
End If
End Sub
Висновок: на цій лабораторній роботі я забезпечувала цілісність даних для даної предметної області «Оренда приміщень» в СУБД Access.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!