Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДР_М (2).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
8.59 Mб
Скачать
    1. Настройки_программ_f

Option Compare Database

Option Explicit

Dim cls As rControlForm

Private Sub Form_Open(Cancel As Integer)

Set cls = New rControlForm

cls.GetForm Me

End Sub

    1. Операции_f

Private Sub BUT_ADD_Click()

Dim q() As String, i As Integer, Cena As String

If Nz(Me![NAIMEN], "") = "" Then Exit Sub

Cena = NumCheck(Me![PRICE])

If Cena = "" Then Exit Sub

i = 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO [Расценки_для_сделки] (NAME, PRICE)" & vbNewLine

q(i) = q(i) & "SELECT '" & Me![NAIMEN] & "', " & Cena

If Not ExecuteTrans("добавление", q) Then Exit Sub

Me![NAIMEN] = ""

Me![PRICE] = 0

OperationsUpdate

Me![Операции_SF].Requery

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

SetLanguage Shift

End Sub

Private Sub Form_Load()

KOD_DEPART_AfterUpdate

Me![NAIMEN] = ""

Me![PRICE] = 0

End Sub

Private Sub Form_Resize()

With Me![Операции_SF]

If Me.InsideWidth < Me![BUT_ADD].Left + Me![BUT_ADD].WIDTH Then Me.InsideWidth = Me![BUT_ADD].Left + Me![BUT_ADD].WIDTH

If Me.InsideWidth > .Left + .WIDTH Then .WIDTH = Me.InsideWidth - .Left

If Me.InsideHeight < .Top + 24 Then Me.InsideHeight = .Top + 24

If Me.InsideHeight > .Top + 24 Then .HEIGHT = Me.InsideHeight - .Top - 24

End With

End Sub

Public Sub KOD_DEPART_AfterUpdate()

ControlAfterUpdate Me

OperationsUpdate

Me![USE_ALL] = False

Me![KOL_ALL] = False

Me![Операции_SF].Requery

End Sub

Private Sub OperationsUpdate()

Dim q() As String, i%

i = 1: ReDim Preserve q(1 To i)

q(i) = "DELETE Т_операции.* FROM Т_операции"

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO Т_операции ( KOD_DEPART, KOD_SDELKA, USE_KOL )" & vbNewLine

q(i) = q(i) & "SELECT Операции_применение.KOD_DEPART, Операции_применение.KOD_SDELKA, Операции_применение.USE_PCS" & vbNewLine

q(i) = q(i) & "FROM [Т_Операции_F] INNER JOIN " & vbNewLine

q(i) = q(i) & " Операции_применение ON [Т_Операции_F].KOD_DEPART = Операции_применение.KOD_DEPART"

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO Т_операции ( KOD_SDELKA, KOD_DEPART, USE_KOL )" & vbNewLine

q(i) = q(i) & "SELECT Расценки_для_сделки.SDELKA, Т_операции.KOD_DEPART, Т_операции.USE_KOL" & vbNewLine

q(i) = q(i) & "FROM Расценки_для_сделки LEFT JOIN Т_операции ON Расценки_для_сделки.SDELKA = Т_операции.KOD_SDELKA" & vbNewLine

q(i) = q(i) & "WHERE Т_операции.KOD_SDELKA Is Null"

If Not ExecuteTrans("изменение", q) Then Exit Sub

End Sub

Private Sub PRICE_AfterUpdate()

If IsNull(Me![PRICE]) Then Me![PRICE] = 0

End Sub

Private Sub USE_AfterUpdate()

ControlAfterUpdate Me

Me![Операции_SF].Requery

End Sub

Private Sub USE_ALL_AfterUpdate()

Dim q() As String, i As Integer

If Not Me![USE_ALL] Then

i = 1: ReDim Preserve q(1 To i)

q(i) = "DELETE Операции_применение.KOD_SDELKA, Операции_применение.*" & vbNewLine

q(i) = q(i) & "FROM Операции_применение INNER JOIN " & vbNewLine

q(i) = q(i) & " [Т_Операции_F] ON Операции_применение.KOD_DEPART = [Т_Операции_F].KOD_DEPART"

Else

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "DELETE Т_операции.* FROM Т_операции"

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO Т_операции ( KOD_DEPART, KOD_SDELKA )" & vbNewLine

q(i) = q(i) & "SELECT [Т_Операции_F].KOD_DEPART, Расценки_для_сделки.SDELKA" & vbNewLine

q(i) = q(i) & "FROM [Т_Операции_F], Расценки_для_сделки"

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO Операции_применение ( KOD_SDELKA, KOD_DEPART )" & vbNewLine

q(i) = q(i) & "SELECT Т_операции.KOD_SDELKA, Т_операции.KOD_DEPART" & vbNewLine

q(i) = q(i) & "FROM Т_операции LEFT JOIN " & vbNewLine

q(i) = q(i) & " Операции_применение ON (Т_операции.KOD_DEPART = Операции_применение.KOD_DEPART) AND " & vbNewLine

q(i) = q(i) & " (Т_операции.KOD_SDELKA = Операции_применение.KOD_SDELKA)" & vbNewLine

q(i) = q(i) & "WHERE Операции_применение.ID Is Null"

End If

If Not ExecuteTrans("добавление", q) Then Exit Sub

OperationsUpdate

Me![Операции_SF].Requery

End Sub

Private Sub KOL_ALL_AfterUpdate()

Dim q() As String, i As Integer

i = 1: ReDim Preserve q(1 To i)

q(i) = "UPDATE Т_операции INNER JOIN " & vbNewLine

q(i) = q(i) & "Операции_применение ON (Т_операции.KOD_DEPART = Операции_применение.KOD_DEPART) AND " & vbNewLine

q(i) = q(i) & " (Т_операции.KOD_SDELKA = Операции_применение.KOD_SDELKA) " & vbNewLine

q(i) = q(i) & "SET Т_операции.USE_KOL = " & Me![KOL_ALL] & ", " & vbNewLine

q(i) = q(i) & " Операции_применение.USE_PCS = " & Me![KOL_ALL]

If Not ExecuteTrans("изменение", q) Then Exit Sub

Me![Операции_SF].Requery

End Sub