📄 包装物管理系统_基础设置_包装物档案.frm
字号:
.Open "SELECT * FROM Cask_Wrappage WHERE WrappageCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not .EOF Then
Tsxx = "包装物编码重复!"
Call Xtxxts(Tsxx, 0, 1)
LrText(0).SetFocus
Bclrsj = False
Exit Function
End If
'判断名称是否重复
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Wrappage WHERE WrappageName= '" + Trim(LrText(1).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not .EOF Then
Tsxx = "包装物名称重复!"
Call Xtxxts(Tsxx, 0, 1)
LrText(1).SetFocus
Bclrsj = False
Exit Function
End If
'判断记录内容无误后,将记录内容写入数据表
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
.AddNew
.Fields("WrappageCode") = Trim(LrText(0).Text) '包装物编码
.Fields("WrappageName") = Trim(LrText(1).Text) '包装物名称
.Fields("UnitCode") = Trim(LrText(2).Tag) '计量单位编码
.Fields("SortCode") = Trim(LrText(3).Tag) '类型编码
.Fields("Remark") = Trim(LrText(4).Text) '备注
.Update
Cw_DataEnvi.DataConnect.Execute "delete Cask_Appertain where WrappageCode= '" & Trim(LrText(0).Text) & "'"
'附属物
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Appertain", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
For Jsqte = Grid_Layout.FixedRows To Grid_Layout.Rows - 1
If Grid_Layout.TextMatrix(Jsqte, 0) = "*" Then
.AddNew
.Fields("WrappageCode") = Trim(LrText(0).Text) '包装物编码
.Fields("AppertainCode") = Trim(Grid_Layout.TextMatrix(Jsqte, Sydz("001", GridStr1(), Szzls1))) '附属物编码
.Fields("UnitPrice") = Val(Grid_Layout.ValueMatrix(Jsqte, Sydz("004", GridStr1(), Szzls1))) '单价
.Fields("Quantity") = Val(Grid_Layout.ValueMatrix(Jsqte, Sydz("005", GridStr1(), Szzls1))) '数量
.Fields("Remark") = Trim(Grid_Layout.TextMatrix(Jsqte, Sydz("006", GridStr1(), Szzls1))) '备注
.Fields("DataType") = 1 '数据类型
.Update
End If
Next Jsqte
'包装参数
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Appertain", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
For Jsqte = Grid_Datum.FixedRows To Grid_Datum.Rows - 1
If Grid_Datum.TextMatrix(Jsqte, 0) = "*" Then
.AddNew
.Fields("WrappageCode") = Trim(LrText(0).Text) '包装物编码
.Fields("AppertainCode") = Trim(Grid_Datum.TextMatrix(Jsqte, Sydz("001", GridStr2(), Szzls2))) '物料编码
.Fields("UnitPrice") = Val(Grid_Datum.ValueMatrix(Jsqte, Sydz("005", GridStr2(), Szzls2))) '单价
.Fields("Quantity") = Val(Grid_Datum.ValueMatrix(Jsqte, Sydz("006", GridStr2(), Szzls2))) '数量
.Fields("Remark") = Trim(Grid_Datum.TextMatrix(Jsqte, Sydz("007", GridStr2(), Szzls2))) '备注
.Fields("DataType") = 2 '数据类型
.Update
End If
Next Jsqte
Cw_DataEnvi.DataConnect.CommitTrans
'将记录加入网格
Sqlstr = "SELECT Cask_Wrappage.*,Cask_Sort.SortName,Gy_UnitSet.UnitName " & _
"FROM Cask_Wrappage LEFT OUTER JOIN Cask_Sort ON Cask_Wrappage.SortCode =" & _
"Cask_Sort.SortCode LEFT OUTER JOIN Gy_UnitSet ON Cask_Wrappage.UnitCode =" & _
"Gy_UnitSet.UnitCode WHERE WrappageCode= '" + Trim(LrText(0).Text) + "'"
Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With CzxsGrid
.AddItem ""
.RowHeight(.Rows - 1) = Sjhgd
.Select .Rows - 1, Qslz
Call Jltcwg(Cxnrrec, .Rows - 1)
End With
Tsxx = "保存完毕!"
Call Xtxxts(Tsxx, 0, 4)
Call Cshlrxx(1)
LrText(0).SetFocus
'将网格按编码排序
With CzxsGrid
.Col = Sydz("001", GridStr(), Szzls)
CzxsGrid.Sort = flexSortStringAscending
End With
'<<]
Else '否则为修改记录
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Wrappage WHERE WrappageName= '" + Trim(LrText(1).Text) + "' and WrappageCode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not .EOF Then
Tsxx = "包装物名称!"
Call Xtxxts(Tsxx, 0, 1)
LrText(1).SetFocus
Bclrsj = False
Exit Function
End If
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Wrappage WHERE WrappageCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not .EOF Then
.Fields("WrappageName") = Trim(LrText(1).Text) '包装物名称
.Fields("UnitCode") = Trim(LrText(2).Tag) '计量单位编码
.Fields("SortCode") = Trim(LrText(3).Tag) '类型编码
.Fields("Remark") = Trim(LrText(4).Text) '备注
.Update
End If
Cw_DataEnvi.DataConnect.Execute "delete Cask_Appertain where WrappageCode= '" & Trim(LrText(0).Text) & "'"
'附属物
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Appertain", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
For Jsqte = Grid_Layout.FixedRows To Grid_Layout.Rows - 1
If Grid_Layout.TextMatrix(Jsqte, 0) = "*" Then
.AddNew
.Fields("WrappageCode") = Trim(LrText(0).Text) '包装物编码
.Fields("AppertainCode") = Trim(Grid_Layout.TextMatrix(Jsqte, Sydz("001", GridStr1(), Szzls1))) '附属物编码
.Fields("UnitPrice") = Val(Grid_Layout.ValueMatrix(Jsqte, Sydz("004", GridStr1(), Szzls1))) '单价
.Fields("Quantity") = Val(Grid_Layout.ValueMatrix(Jsqte, Sydz("005", GridStr1(), Szzls1))) '数量
.Fields("Remark") = Trim(Grid_Layout.TextMatrix(Jsqte, Sydz("006", GridStr1(), Szzls1))) '备注
.Fields("DataType") = 1 '数据类型
.Update
End If
Next Jsqte
'包装参数
If .State = 1 Then .Close
.Open "SELECT * FROM Cask_Appertain", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
For Jsqte = Grid_Datum.FixedRows To Grid_Datum.Rows - 1
If Grid_Datum.TextMatrix(Jsqte, 0) = "*" Then
.AddNew
.Fields("WrappageCode") = Trim(LrText(0).Text) '包装物编码
.Fields("AppertainCode") = Trim(Grid_Datum.TextMatrix(Jsqte, Sydz("001", GridStr2(), Szzls2))) '物料编码
.Fields("UnitPrice") = Val(Grid_Datum.ValueMatrix(Jsqte, Sydz("005", GridStr2(), Szzls2))) '单价
.Fields("Quantity") = Val(Grid_Datum.ValueMatrix(Jsqte, Sydz("006", GridStr2(), Szzls2))) '数量
.Fields("Remark") = Trim(Grid_Datum.TextMatrix(Jsqte, Sydz("007", GridStr2(), Szzls2))) '备注
.Fields("DataType") = 2 '数据类型
.Update
End If
Next Jsqte
Cw_DataEnvi.DataConnect.CommitTrans
'刷新当前网格
Sqlstr = "SELECT Cask_Wrappage.*,Cask_Sort.SortName,Gy_UnitSet.UnitName " & _
"FROM Cask_Wrappage LEFT OUTER JOIN Cask_Sort ON Cask_Wrappage.SortCode =" & _
"Cask_Sort.SortCode LEFT OUTER JOIN Gy_UnitSet ON Cask_Wrappage.UnitCode =" & _
"Gy_UnitSet.UnitCode WHERE WrappageCode= '" + Trim(LrText(0).Text) + "'"
Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not Cxnrrec.EOF Then
With CzxsGrid
Call Jltcwg(Cxnrrec, .Row)
End With
Else
Tsxx = "该记录已经被其他人删除,请刷新当前数据!"
Call Xtxxts(Tsxx, 0, 4)
Exit Function
End If
End If
'保存记录成功,函数返回真值
Bclrsj = True
Exit Function
End With
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "存盘过程中出现错误,程序自动恢复保存前包装物!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
End Function
Private Function Cshlrxx(lrztxx As Integer) As Boolean '初始化录入字段信息
TextChangeLock = True '关闭文本框Chang事件
Grid_Layout.Clear 1
Grid_Datum.Clear 1
SSTab1.Tab = 0
If lrztxx = 1 Then
'增加新记录时将文本框清空
For Jsqte = 0 To Max_Text_Index
If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
LrText(Jsqte).Text = ""
LrText(Jsqte).Tag = ""
End If
TextValiJudgeLock(Jsqte) = True
Next Jsqte
'[>>
'在此处可添加新增记录时初始化设置
'<<]
Else
'修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
With RecTemp
Sqlstr = "SELECT Cask_Wrappage.*,Cask_Sort.SortName,Gy_UnitSet.UnitName " & _
"FROM Cask_Wrappage LEFT OUTER JOIN Cask_Sort ON Cask_Wrappage.SortCode =" & _
"Cask_Sort.SortCode LEFT OUTER JOIN Gy_UnitSet ON Cask_Wrappage.UnitCode =" & _
"Gy_UnitSet.UnitCode Where WrappageCode='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) & "'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
'记录如存在则读入其内容,否则提示记录已被其他人删除
If Not RecTemp.EOF Then
LrText(0).Text = Trim(RecTemp!WrappageCode & "") '包装物编码
LrText(1).Text = Trim(RecTemp!WrappageName & "") '包装物名称
LrText(2).Tag = Trim(RecTemp!UnitCode & "") '计量单位编码
LrText(2).Text = Trim(RecTemp!UnitName & "") '计量单位名称
LrText(3).Tag = Trim(RecTemp!SortCode & "") '类别编码
LrText(3).Text = Trim(RecTemp!SortName & "") '类别名称
LrText(4).Text = Trim(RecTemp!Remark & "") '备注
'附属物
Sqlstr = "SELECT Cask_Wrappage.*,Cask_Appertain.*,Gy_UnitSet.UnitName FROM Cask_Wrappage INNER JOIN " & _
"Cask_Appertain ON Cask_Wrappage.WrappageCode =Cask_Appertain.AppertainCode LEFT OUTER " & _
"Join Gy_UnitSet ON Cask_Wrappage.UnitCode =Gy_UnitSet.UnitCode Where Cask_Appertain.WrappageCode='" & Trim(LrText(0).Text) & "' and DataType=1"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
Jsqte = Grid_Layout.FixedRows
Do While Not RecTemp.EOF
If Jsqte >= Grid_Layout.Rows Then
Grid_Layout.AddItem ""
End If
Grid_Layout.TextMatrix(Jsqte, 0) = "*"
Grid_Layout.TextMatrix(Jsqte, Sydz("001", GridStr1(), Szzls1)) = Trim("" & RecTemp!AppertainCode) '附属物编码
Grid_Layout.TextMatrix(Jsqte, Sydz("002", GridStr1(), Szzls1)) = Trim("" & RecTemp!WrappageName) '附属物名称
Grid_Layout.TextMatrix(Jsqte, Sydz("003", GridStr1(), Szzls1)) = Trim("" & RecTemp!UnitName) '计量单位
Grid_Layout.TextMatrix(Jsqte, Sydz("004", GridStr1(), Szzls1)) = IIf(Val(RecTemp!UnitPrice) = 0, "", RecTemp!UnitPrice) '单价
Grid_Layout.TextMatrix(Jsqte, Sydz("005", GridStr1(), Szzls1)) = IIf(Val(RecTemp!Quantity) = 0, "", RecTemp!Quantity) '数量
Grid_Layout.TextMatrix(Jsqte, Sydz("006", GridStr1(), Szzls1)) = Trim("" & RecTemp!Remark) '备注
Grid_Layout.RowHeight(Jsqte) = Sjhgd1
RecTemp.MoveNext
Jsqte = Jsqte + 1
Loop
If RecTemp.RecordCount >= GridInf1(3) Then
Grid_Layout.AddItem ""
Grid_Layout.RowHeight(Jsqte) = Sjhgd1
Else
Grid_Layout.Rows = 16
End If
'包装参数
Sqlstr = "SELECT Cask_Appertain.*,Gy_Material.MName,Gy_Material.Model,Gy_UnitSet.UnitName " & _
"FROM Gy_Material INNER JOIN Cask_Appertain ON Gy_Material.MNumber =" & _
"Cask_Appertain.AppertainCode LEFT OUTER JOIN Gy_UnitSet ON Gy_Material.PrimaryUnit =" & _
"Gy_UnitSet.UnitCode Where Gy_Material.StopFlag<>1 and Cask_Appertain.WrappageCode='" & Trim(LrText(0).Text) & "' and DataType=2"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
Jsqte = Grid_Datum.FixedRows
Do While Not RecTemp.EOF
If Jsqte >= Grid_Datum.Rows Then
Grid_Datum.AddItem ""
End If
Grid_Datum.TextMatrix(Jsqte, 0) = "*"
Grid_Datum.TextMatrix(Jsqte, Sydz("001", GridStr2(), Szzls2)) = Trim
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -