End If
Resume Exit_Добавить_Click
End Sub
Private Sub Кнопка9_Click()
On Error GoTo Err_Кнопка9_Click
DoCmd.Close
Exit_Кнопка9_Click:
Exit Sub
Err_Кнопка9_Click:
MsgBox Err.Description
Resume Exit_Кнопка9_Click
End Sub
Програмний код форми “Калькуляция”:
Option Compare Database
Private Sub Form_Load()
Цена.Enabled = False
End Sub
Private Sub №_материала_Exit(Cancel As Integer)
If (№_материала.Text <> "") Then
Цена.Enabled = True
End If
End Sub
Private Sub Цена_Click()
Материал_Цена__.SetFocus
If (Материал_Цена__.Text <> "") Then
Dim pr As String
Материал_Цена__.SetFocus
pr = Материал_Цена__.Text
ДИМ_Цена__.SetFocus
ДИМ_Цена__.Locked = False
ДИМ_Цена__.Text = pr
ДИМ_Цена__.Locked = True
Материал_Цена_грн.SetFocus
pr = Материал_Цена_грн.Text
ДИМ_Цена_грн.SetFocus
ДИМ_Цена_грн.Locked = False
ДИМ_Цена_грн.Text = pr
ДИМ_Цена_грн.Locked = True
Цена.Enabled = False
Добавить.SetFocus
End If
End Sub
Private Sub Добавить_Click()
On Error GoTo Err_Добавить_Click
DoCmd.GoToRecord , , acNewRec
Цена.Enabled = False
Exit_Добавить_Click:
Exit Sub
Err_Добавить_Click:
№договора.SetFocus
If (№договора.Text <> "") Then
№_изделия.SetFocus
If (№_изделия.Text <> "") Then
Количество_изделий.SetFocus
If (Количество_изделий.Text <> "") Then
№_материала.SetFocus
If (№_материала.Text <> "") Then
Количество_материала.SetFocus
If (Количество_материала.Text <> "") Then
ДИМ_Цена__.SetFocus
If (ДИМ_Цена__.Text <> "") Then
MsgBox "Данные о записи с такими номерами договора, изделия и материала уже существуют или не могут существовать!!!"
Else
MsgBox "Не все поля заполнены!!! Нажмите кнопку Цена для фиксации значений цен на момент заказа"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Количество материала"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле № материала"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Количество изделий"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле № изделия"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле №договора"
End If
Resume Exit_Добавить_Click
End Sub
Private Sub Клон_Click()
On Error GoTo Err_Клон_Click
Dim nd As Integer
Dim ni As String
Dim ki As String
Dim km As String
Dim dc1 As String
Dim dc2 As String
Dim mc1 As String
Dim mc2 As String
Dim m As Integer
№договора.SetFocus
nd = №договора.Text
№_изделия.SetFocus
ni = №_изделия.Text
Количество_изделий.SetFocus
ki = Количество_изделий.Text
Количество_материала.SetFocus
km = Количество_материала.Text
ДИМ_Цена__.SetFocus
ДИМ_Цена__.Locked = False
dc1 = ДИМ_Цена__.Text
ДИМ_Цена__.Locked = True
ДИМ_Цена_грн.SetFocus
ДИМ_Цена_грн.Locked = False
dc2 = ДИМ_Цена_грн.Text
ДИМ_Цена_грн.Locked = True
Материал_Цена__.SetFocus
Материал_Цена__.Locked = False
mc1 = Материал_Цена__.Text
Материал_Цена__.Locked = True
Материал_Цена_грн.SetFocus
Материал_Цена_грн.Locked = False
mc2 = Материал_Цена_грн.Text
Материал_Цена_грн.Locked = True
№_материала.SetFocus
m = №_материала.Text
DoCmd.GoToRecord , , acNewRec
Exit_Клон_Click:
№договора.SetFocus
№договора.Text = nd
№_материала.SetFocus
№_материала.Text = m
№_изделия.SetFocus
№_изделия.Text = ni
Количество_изделий.SetFocus
Количество_изделий.Text = ki
Количество_материала.SetFocus
Количество_материала.Text = km
ДИМ_Цена__.SetFocus
ДИМ_Цена__.Locked = False
ДИМ_Цена__.Text = dc1
ДИМ_Цена__.Locked = True
ДИМ_Цена_грн.SetFocus
ДИМ_Цена_грн.Locked = False
ДИМ_Цена_грн.Text = dc2
ДИМ_Цена_грн.Locked = True
Материал_Цена__.SetFocus
Материал_Цена__.Locked = False
Материал_Цена__.Text = mc1
Материал_Цена__.Locked = True
Материал_Цена_грн.SetFocus
Материал_Цена_грн.Locked = False
Материал_Цена_грн.Text = mc2
Материал_Цена_грн.Locked = True
Цена.Enabled = True
Exit Sub
Err_Клон_Click:
MsgBox "Не все поля заполнены!!! Такую запись нельзя клонировать" + Err.Description
Resume Exit_Клон_Click
End Sub
Private Sub Кнопка24_Click()
On Error GoTo Err_Кнопка24_Click
DoCmd.Close
Exit_Кнопка24_Click:
Exit Sub
Err_Кнопка24_Click:
MsgBox Err.Description
Resume Exit_Кнопка24_Click
End Sub
Програмний код форми “Материал”:
Option Compare Database
Private Sub ДобавитьМатериал_Click()
On Error GoTo Err_ДобавитьМатериал_Click
DoCmd.GoToRecord , , acNewRec
Exit_ДобавитьМатериал_Click:
Exit Sub
Err_ДобавитьМатериал_Click:
Группа.SetFocus
If (Группа.Text <> "") Then
Название.SetFocus
If (Название.Text <> "") Then
Единица_измерения.SetFocus
If (Единица_измерения.Text <> "") Then
Цена__.SetFocus
If (Цена__.Text <> "") Then
Цена_грн.SetFocus
MsgBox "Не все поля заполнены!!! Введите значение в поле Цена грн"
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Цена $"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Единица измерения"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Название"
End If
Else
MsgBox "Не все поля заполнены!!! Введите значение в поле Группа"
End If
Resume Exit_ДобавитьМатериал_Click
End Sub
Private Sub Кнопка16_Click()
On Error GoTo Err_Кнопка16_Click
DoCmd.Close
Exit_Кнопка16_Click:
Exit Sub
Err_Кнопка16_Click:
MsgBox Err.Description
Resume Exit_Кнопка16_Click
End Sub
Програмний код форми “Отчетность”:
Option Compare Database
Private Sub Form_Load()
Form.Caption = "Отчетность"
End Sub
Private Sub Кнопка2_Click()
On Error GoTo Err_Кнопка2_Click
DoCmd.Close
Exit_Кнопка2_Click:
Exit Sub
Err_Кнопка2_Click:
MsgBox Err.Description
Resume Exit_Кнопка2_Click
End Sub
Private Sub Изделие_Click()
On Error GoTo Err_Изделие_Click
Dim stDocName As String
stDocName = ChrW(1048) & ChrW(1079) & ChrW(1076) & ChrW(1077) & ChrW(1083) & ChrW(1080) & ChrW(1103)
DoCmd.OpenReport stDocName, acPreview
Exit_Изделие_Click:
Exit Sub
Err_Изделие_Click:
MsgBox Err.Description
Resume Exit_Изделие_Click
End Sub
Private Sub ПечатьИ_Click()
On Error GoTo Err_ПечатьИ_Click
Dim stDocName As String
stDocName = ChrW(1048) & ChrW(1079) & ChrW(1076) & ChrW(1077) & ChrW(1083) & ChrW(1080) & ChrW(1103)
DoCmd.OpenReport stDocName, acNormal
Exit_ПечатьИ_Click:
Exit Sub
Err_ПечатьИ_Click:
MsgBox Err.Description
Resume Exit_ПечатьИ_Click
End Sub
Private Sub Материал_Click()
On Error GoTo Err_Материал_Click
Dim stDocName As String
stDocName = ChrW(1052) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1088) & ChrW(1080) & ChrW(1072) & ChrW(1083) & ChrW(1099)
DoCmd.OpenReport stDocName, acPreview
Exit_Материал_Click:
Exit Sub
Err_Материал_Click:
MsgBox Err.Description
Resume Exit_Материал_Click
End Sub
Private Sub ПечатьМ_Click()
On Error GoTo Err_ПечатьМ_Click
Dim stDocName As String
stDocName = ChrW(1052) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1088) & ChrW(1080) & ChrW(1072) & ChrW(1083) & ChrW(1099)
DoCmd.OpenReport stDocName, acNormal
Exit_ПечатьМ_Click:
Exit Sub
Err_ПечатьМ_Click:
MsgBox Err.Description
Resume Exit_ПечатьМ_Click
End Sub
Private Sub ПечатьФ_Click()
On Error GoTo Err_ПечатьФ_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(32) & ChrW(1060) & ChrW(1072) & ChrW(1084) & ChrW(1080) & ChrW(1083) & ChrW(1080) & ChrW(1103)
DoCmd.OpenReport stDocName, acNormal
Exit_ПечатьФ_Click:
Exit Sub
Err_ПечатьФ_Click:
MsgBox Err.Description
Resume Exit_ПечатьФ_Click
End Sub
Private Sub ФИО_Click()
On Error GoTo Err_ФИО_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(32) & ChrW(1060) & ChrW(1048) & ChrW(1054)
DoCmd.OpenReport stDocName, acPreview
Exit_ФИО_Click:
Exit Sub
Err_ФИО_Click:
MsgBox Err.Description
Resume Exit_ФИО_Click
End Sub
Private Sub ПечатьФИО_Click()
On Error GoTo Err_ПечатьФИО_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(32) & ChrW(1060) & ChrW(1048) & ChrW(1054)
DoCmd.OpenReport stDocName, acNormal
Exit_ПечатьФИО_Click:
Exit Sub
Err_ПечатьФИО_Click:
MsgBox Err.Description
Resume Exit_ПечатьФИО_Click
End Sub
Private Sub ДоговорФЛ_Click()
On Error GoTo Err_ДоговорФЛ_Click
Dim stDocName As String
stDocName = ChrW(1044) & ChrW(1086) & ChrW(1075) & ChrW(1086) & ChrW(1074) & ChrW(1086) & ChrW(1088) & ChrW(32) & ChrW(1060) & ChrW(1051)
DoCmd.OpenReport stDocName, acPreview
Exit_ДоговорФЛ_Click:
Exit Sub
Err_ДоговорФЛ_Click:
MsgBox Err.Description
Resume Exit_ДоговорФЛ_Click
End Sub
Private Sub ПечатьД_Click()
On Error GoTo Err_ПечатьД_Click
Dim stDocName As String
stDocName = ChrW(1044) & ChrW(1086) & ChrW(1075) & ChrW(1086) & ChrW(1074) & ChrW(1086) & ChrW(1088) & ChrW(32) & ChrW(1060) & ChrW(1051)
DoCmd.OpenReport stDocName, acNormal
Exit_ПечатьД_Click:
Exit Sub
Err_ПечатьД_Click:
MsgBox Err.Description
Resume Exit_ПечатьД_Click
End Sub
Private Sub Попфз_Click()
On Error GoTo Err_Попфз_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1095) & ChrW(1080) & ChrW(1082) & ChrW(32) & ChrW(1060) & ChrW(1072) & ChrW(1084) & ChrW(1080) & ChrW(1083) & ChrW(1080) & ChrW(1103)
DoCmd.OpenReport stDocName, acPreview
Exit_Попфз_Click:
Exit Sub
Err_Попфз_Click:
MsgBox Err.Description
Resume Exit_Попфз_Click
End Sub
Коди запитів на SQL
Договор ФЮЛ - запит інформації, необхідної для створення договору:
SELECT Договор.[№ договора], Договор.[Дата заключения], Договор.[Срок к установке], Договор.[Дата окончания гарантии], Заказчик.Фамилия, Заказчик.Имя, Заказчик.Отчество, [Физическое лицо].[Серия паспорта], [Физическое лицо].[№ паспорта], Sum(ДИМ![Цена $]*ДИМ![Количество материала]*ДИМ![Количество изделий]*Изделие!Сложность) AS Выражение1, Sum(ДИМ![Цена грн]*ДИМ![Количество материала]*ДИМ![Количество изделий]*Изделие!Сложность) AS Выражение2, [Юридическое лицо].[Имя фирмы]
FROM Материал INNER JOIN (Изделие INNER JOIN (((Заказчик INNER JOIN (Договор INNER JOIN ДИМ ON Договор.[№ договора] = ДИМ.№договора) ON Заказчик.[Код заказчика] = Договор.[Код заказчика]) LEFT JOIN [Физическое лицо] ON Заказчик.[Код заказчика] = [Физическое лицо].[Код заказчика]) LEFT JOIN [Юридическое лицо] ON Заказчик.[Код заказчика] = [Юридическое лицо].[Код заказчика]) ON Изделие.[№ изделия] = ДИМ.[№ изделия]) ON Материал.[№ материала] = ДИМ.[№ материала]
GROUP BY Договор.[№ договора], Договор.[Дата заключения], Договор.[Срок к установке], Договор.[Дата окончания гарантии], Заказчик.Фамилия, Заказчик.Имя, Заказчик.Отчество, [Физическое лицо].[Серия паспорта], [Физическое лицо].[№ паспорта], [Юридическое лицо].[Имя фирмы]
HAVING (((Договор.[№ договора])=[Запрос]![№ договора]));
Заказчик Фамилия - запит інформації про замовника та його договори, за фамілією замовника:
SELECT Заказчик.[Код заказчика], Заказчик.Фамилия, Заказчик.Имя, Заказчик.Отчество, Заказчик.Адрес, Заказчик.Телефон, Договор.[№ договора], Договор.[Срок к установке], Договор.[Дата окончания гарантии]
FROM Заказчик INNER JOIN Договор ON Заказчик.[Код заказчика] = Договор.[Код заказчика]