Файл: Разработка регламента выполнения процесса «Складской учет» (Выбор средства для моделирования бизнес-процессов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.06.2023

Просмотров: 60

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Private Sub Command2_Click()

If DE.rsComVid1.EOF Then

MsgBox "Вы уже находитесь в последней записи."

Else

DE.rsComVid1.MoveNext

End If

End Sub

Private cn As ADODB.Connection

Private rs As ADODB.Recordset

Private rsTovar As ADODB.Recordset

Private Sub Command1_Click()

DE.rsComPZ.Close

DE.rsComPZ.Open

Set TextFlag.DataSource = DE

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

DataGrid2.Refresh

End Sub

Private Sub Command2_Click()

DE.rsComPZ.Filter = "idCl_Z = " & DE.rsComPZ!idCl_Z

DataReportZ.Show

End Sub

Private Sub Command3_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

idRaschod = 0

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

FmZCont.Show

End Sub

Private Sub Command4_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid2.Col = 0

If DataGrid2.ApproxCount = 0 Then

num = -1

Else

num = DataGrid2.Text

End If

idRaschod = num

SQL = "SELECT * FROM Raschod WHERE idRaschod = " & num

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If idRaschod = -1 Then num = 0 Else num = rs("Raschod_Tovar")

SQL = "SELECT * FROM Tovar WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If num <> 0 Then

FmZCont.CBTovar.BoundText = rsTovar("idTovar")

DataGrid2.Col = 3

FmZCont.TextQuan.Text = DataGrid2.Text

DataGrid2.Col = 5

FmZCont.TextCost.Text = DataGrid2.Text

End If

rs.Close

rsTovar.Close

Set rs = Nothing

Set rsTovar = Nothing

cn.Close

Set cn = Nothing

If DataGrid2.ApproxCount <> 0 Then FmZCont.Show

End Sub

Private Sub Command6_Click() 'Отпуск товара по заявке

'DataGrid2.Col = 1

'if DE.rsComPZ.Fields

'If DataGrid2.Text = "" Then

' Exit Sub

'End If

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid1.Col = 13

If idCl_Z <> 0 And (DataGrid1.Text <> "да") Then 'Если имеется необработанная заявка

SQL = "SELECT * FROM Raschod WHERE idCl_Z = " & idCl_Z

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If rs.BOF Or rs.EOF Then

Exit Sub

End If

rs.MoveFirst

Do While Not rs.EOF 'В цикле проверяем наличие товара на складе

num = rs("Raschod_Tovar") 'Получаем ID Товара

SQL = "SELECT * FROM Tovar WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If rs("Raschod_quan") > rsTovar("Tovar_quan") Then

MsgBox "Невозможно выполнить заявку. на складе отсутствует требуемое количество товара"

Exit Sub

End If


rsTovar.Close

Set rsTovar = Nothing

rs.MoveNext

Loop

'Если цикл пройден, то значит товар есть

rs.MoveFirst

Do While Not rs.EOF 'В цикле проверяем наличие товара на складе

num = rs("Raschod_Tovar") 'Получаем ID Товара

SQL = "UPDATE Tovar SET Tovar_quan = Tovar_quan - " & rs("Raschod_quan") & " WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

Set rsTovar = Nothing

rs.MoveNext

Loop

rs.Close

Set rs = Nothing

SQL = "UPDATE cl_z set cl_Z_flag = 'да' WHERE idCl_Z = " & idCl_Z

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

Set rs = Nothing

cn.Close

Set cn = Nothing

MsgBox "Расход произведен"

End If

End Sub

Private Sub Command5_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid2.Col = 0

If DataGrid2.ApproxCount = 0 Then

num = -1

Else

num = DataGrid2.Text

End If

idRaschod = num

SQL = "Delete * FROM raschod WHERE idRaschod = " & idRaschod

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenDynamic, adLockOptimistic

End With

Set rs = Nothing

cn.Close

Set cn = Nothing

DE.rsComPZ.Close

DE.rsComPZ.Open

DE.rsComPZ.Fields(13).Value.Close

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

DataGrid2.Refresh

End Sub

Private Sub Form_Activate()

Set FmZ.DataGrid1.DataSource = DE

Set FmZ.DataGrid2.DataSource = DE

FmZ.DataGrid2.Refresh

End Sub

Private Sub Form_Load()

DataGrid1.Columns("Cl_Z_Men").Visible = False

DataGrid1.Columns("Cl_Z_Client").Visible = False

DataGrid1.Columns("Cl_Z_Tovar").Visible = False

DataGrid1.Columns("Cl_Z_Znum").Visible = False

DataGrid2.Columns("Tovar_name").Visible = False

End Sub

Private cn As ADODB.Connection

Private rs As ADODB.Recordset

Private rsTovar As ADODB.Recordset

Private Sub CBTovar_Click(Area As Integer)

If CBTovar.Text <> "" Then

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

'MsgBox cmd

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

SQL = "SELECT * FROM Tovar WHERE idTovar = " & CBTovar.BoundText

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

TextCost.Text = rs("Tovar_price")

End If

End Sub

Private Sub RefreshData()

DE.rsComPZ.Close

DE.rsComPZ.Open

DE.rsComPZ.Fields(13).Value.Close

Set FmZ.DataGrid1.DataSource = DE

Set FmZ.DataGrid2.DataSource = DE

FmZ.DataGrid2.Refresh

End Sub

Private Sub Command1_Click()

'MsgBox idRaschod

If idRaschod = 0 Then ' Добавлние записи

If TextCost.Text = "0" Then

MsgBox "Вы не выбрали товар или цена товара равна нулю"

Exit Sub

End If

If TextQuan.Text = "" Or TextQuan.Text = "0" Then

MsgBox "Количетсво товара не может быть пустым или нулевым значением"

Exit Sub

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

'MsgBox cmd

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

'Запрос на вставку данных

SQL = "Insert INTO Raschod (idCl_Z, Raschod_Tovar, Raschod_Price, Raschod_quan) VALUES (" & idCl_Z & ", " & CBTovar.BoundText & "," & TextCost.Text & "," & TextQuan.Text & ")"