Смекни!
smekni.com

Меблева фірма розробка бази даних (стр. 6 из 7)

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 Заказчик.[Код заказчика] = Договор.[Код заказчика]