Файл: Разработка регламента выполнения процесса «Складской учет» (Выбор средства для моделирования бизнес-процессов).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 & ")"