📄 frm_boxsign.frm
字号:
Exit Sub
err:
MsgBox err.Description, vbCritical
End Sub
Private Sub cob_Fields_Change(Index As Integer)
Call Total_DustproofNumbers
Call Total_BoxNumbers
End Sub
Private Sub cob_Fields_Click(Index As Integer)
Call Total_DustproofNumbers
Call Total_BoxNumbers
End Sub
Private Sub SaveBoxSign(BoxLength As Integer, totalProductBoxs As Integer, totalDustproofBoxs As Integer)
Dim strFormatType As String
Dim i As Integer
strFormatType = ""
For i = 1 To BoxLength
strFormatType = strFormatType & "0"
Next
For i = 1 To totalProductBoxs + totalDustproofBoxs
If i < totalProductBoxs Then
Rs_BoxSignTemp.AddNew
If Trim(Me.txt_Fields(0).text) <> "" Then Rs_BoxSignTemp.Fields("规格单号") = Trim(Me.txt_Fields(0).text) Else Rs_BoxSignTemp.Fields("规格单号") = ""
If Trim(Me.txt_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("小号") = Val(Trim(Me.txt_Fields(1).text)) Else Rs_BoxSignTemp.Fields("小号") = 0
If Trim(Me.txt_Fields(3).text) <> "" Then Rs_BoxSignTemp.Fields("客户名称") = Trim(Me.txt_Fields(3).text) Else Rs_BoxSignTemp.Fields("客户名称") = ""
If Trim(Me.txt_Fields(11).text) <> "" Then Rs_BoxSignTemp.Fields("箱面标识") = Trim(Me.txt_Fields(11).text) Else Rs_BoxSignTemp.Fields("箱面标识") = ""
If Trim(Me.txt_Fields(5).text) <> "" Then Rs_BoxSignTemp.Fields("采购单号") = Trim(Me.txt_Fields(5).text) Else Rs_BoxSignTemp.Fields("采购单号") = ""
If Trim(Me.txt_Fields(4).text) <> "" Then Rs_BoxSignTemp.Fields("料号") = Trim(Me.txt_Fields(4).text) Else Rs_BoxSignTemp.Fields("料号") = ""
If Trim(Me.txt_Fields(6).text) <> "" Then Rs_BoxSignTemp.Fields("节目名称") = Trim(Me.txt_Fields(6).text) Else Rs_BoxSignTemp.Fields("节目名称") = ""
If Trim(Me.txt_Fields(2).text) <> "" Then Rs_BoxSignTemp.Fields("订货数量") = Val(Trim(Me.txt_Fields(2).text)) Else Rs_BoxSignTemp.Fields("订货数量") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("每箱片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("每箱片数") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("本箱片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("本箱片数") = 0
If Trim(Me.txt_Fields(9).text) <> "" Then Rs_BoxSignTemp.Fields("箱号") = Trim(Me.txt_Fields(9).text) & "-" & Format(i, strFormatType) Else Rs_BoxSignTemp.Fields("箱号") = ""
Rs_BoxSignTemp.Fields("防尘垫片数") = 0
If Trim(Me.txt_Fields(10).text) <> "" Then Rs_BoxSignTemp.Fields("QC检查者") = Trim(Me.txt_Fields(10).text) Else Rs_BoxSignTemp.Fields("QC检查者") = ""
Rs_BoxSignTemp.Fields("包装日期和班次") = ""
Rs_BoxSignTemp.Update
ElseIf i = totalProductBoxs Then
Rs_BoxSignTemp.AddNew
If Trim(Me.txt_Fields(0).text) <> "" Then Rs_BoxSignTemp.Fields("规格单号") = Trim(Me.txt_Fields(0).text) Else Rs_BoxSignTemp.Fields("规格单号") = ""
If Trim(Me.txt_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("小号") = Val(Trim(Me.txt_Fields(1).text)) Else Rs_BoxSignTemp.Fields("小号") = 0
If Trim(Me.txt_Fields(3).text) <> "" Then Rs_BoxSignTemp.Fields("客户名称") = Trim(Me.txt_Fields(3).text) Else Rs_BoxSignTemp.Fields("客户名称") = ""
If Trim(Me.txt_Fields(11).text) <> "" Then Rs_BoxSignTemp.Fields("箱面标识") = Trim(Me.txt_Fields(11).text) Else Rs_BoxSignTemp.Fields("箱面标识") = ""
If Trim(Me.txt_Fields(5).text) <> "" Then Rs_BoxSignTemp.Fields("采购单号") = Trim(Me.txt_Fields(5).text) Else Rs_BoxSignTemp.Fields("采购单号") = ""
If Trim(Me.txt_Fields(4).text) <> "" Then Rs_BoxSignTemp.Fields("料号") = Trim(Me.txt_Fields(4).text) Else Rs_BoxSignTemp.Fields("料号") = ""
If Trim(Me.txt_Fields(6).text) <> "" Then Rs_BoxSignTemp.Fields("节目名称") = Trim(Me.txt_Fields(6).text) Else Rs_BoxSignTemp.Fields("节目名称") = ""
If Trim(Me.txt_Fields(2).text) <> "" Then Rs_BoxSignTemp.Fields("订货数量") = Val(Trim(Me.txt_Fields(2).text)) Else Rs_BoxSignTemp.Fields("订货数量") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("每箱片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("每箱片数") = 0
If Trim(Me.txt_Fields(8).text) <> "" Then Rs_BoxSignTemp.Fields("本箱片数") = Val(Trim(Me.txt_Fields(8).text)) Else Rs_BoxSignTemp.Fields("本箱片数") = 0
If Trim(Me.txt_Fields(9).text) <> "" Then Rs_BoxSignTemp.Fields("箱号") = Trim(Me.txt_Fields(9).text) & "-" & Format(i, strFormatType) Else Rs_BoxSignTemp.Fields("箱号") = ""
Rs_BoxSignTemp.Fields("防尘垫片数") = 0
If Trim(Me.txt_Fields(10).text) <> "" Then Rs_BoxSignTemp.Fields("QC检查者") = Trim(Me.txt_Fields(10).text) Else Rs_BoxSignTemp.Fields("QC检查者") = ""
Rs_BoxSignTemp.Fields("包装日期和班次") = ""
Rs_BoxSignTemp.Update
ElseIf i > totalProductBoxs And i < totalProductBoxs + totalDustproofBoxs Then
Rs_BoxSignTemp.AddNew
If Trim(Me.txt_Fields(0).text) <> "" Then Rs_BoxSignTemp.Fields("规格单号") = Trim(Me.txt_Fields(0).text) Else Rs_BoxSignTemp.Fields("规格单号") = ""
If Trim(Me.txt_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("小号") = Val(Trim(Me.txt_Fields(1).text)) Else Rs_BoxSignTemp.Fields("小号") = 0
If Trim(Me.txt_Fields(3).text) <> "" Then Rs_BoxSignTemp.Fields("客户名称") = Trim(Me.txt_Fields(3).text) Else Rs_BoxSignTemp.Fields("客户名称") = ""
If Trim(Me.txt_Fields(11).text) <> "" Then Rs_BoxSignTemp.Fields("箱面标识") = Trim(Me.txt_Fields(11).text) Else Rs_BoxSignTemp.Fields("箱面标识") = ""
If Trim(Me.txt_Fields(5).text) <> "" Then Rs_BoxSignTemp.Fields("采购单号") = Trim(Me.txt_Fields(5).text) Else Rs_BoxSignTemp.Fields("采购单号") = ""
If Trim(Me.txt_Fields(4).text) <> "" Then Rs_BoxSignTemp.Fields("料号") = Trim(Me.txt_Fields(4).text) Else Rs_BoxSignTemp.Fields("料号") = ""
If Trim(Me.txt_Fields(6).text) <> "" Then Rs_BoxSignTemp.Fields("节目名称") = Trim(Me.txt_Fields(6).text) Else Rs_BoxSignTemp.Fields("节目名称") = ""
If Trim(Me.txt_Fields(2).text) <> "" Then Rs_BoxSignTemp.Fields("订货数量") = Val(Trim(Me.txt_Fields(2).text)) Else Rs_BoxSignTemp.Fields("订货数量") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("每箱片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("每箱片数") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("本箱片数") = 0
If Trim(Me.txt_Fields(9).text) <> "" Then Rs_BoxSignTemp.Fields("箱号") = i
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("防尘垫片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("防尘垫片数") = 0
If Trim(Me.txt_Fields(10).text) <> "" Then Rs_BoxSignTemp.Fields("QC检查者") = Trim(Me.txt_Fields(10).text) Else Rs_BoxSignTemp.Fields("QC检查者") = ""
Rs_BoxSignTemp.Fields("包装日期和班次") = ""
Rs_BoxSignTemp.Update
ElseIf i = totalProductBoxs + totalDustproofBoxs Then
Rs_BoxSignTemp.AddNew
If Trim(Me.txt_Fields(0).text) <> "" Then Rs_BoxSignTemp.Fields("规格单号") = Trim(Me.txt_Fields(0).text) Else Rs_BoxSignTemp.Fields("规格单号") = ""
If Trim(Me.txt_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("小号") = Val(Trim(Me.txt_Fields(1).text)) Else Rs_BoxSignTemp.Fields("小号") = 0
If Trim(Me.txt_Fields(3).text) <> "" Then Rs_BoxSignTemp.Fields("客户名称") = Trim(Me.txt_Fields(3).text) Else Rs_BoxSignTemp.Fields("客户名称") = ""
If Trim(Me.txt_Fields(11).text) <> "" Then Rs_BoxSignTemp.Fields("箱面标识") = Trim(Me.txt_Fields(11).text) Else Rs_BoxSignTemp.Fields("箱面标识") = ""
If Trim(Me.txt_Fields(5).text) <> "" Then Rs_BoxSignTemp.Fields("采购单号") = Trim(Me.txt_Fields(5).text) Else Rs_BoxSignTemp.Fields("采购单号") = ""
If Trim(Me.txt_Fields(4).text) <> "" Then Rs_BoxSignTemp.Fields("料号") = Trim(Me.txt_Fields(4).text) Else Rs_BoxSignTemp.Fields("料号") = ""
If Trim(Me.txt_Fields(6).text) <> "" Then Rs_BoxSignTemp.Fields("节目名称") = Trim(Me.txt_Fields(6).text) Else Rs_BoxSignTemp.Fields("节目名称") = ""
If Trim(Me.txt_Fields(2).text) <> "" Then Rs_BoxSignTemp.Fields("订货数量") = Val(Trim(Me.txt_Fields(2).text)) Else Rs_BoxSignTemp.Fields("订货数量") = 0
If Trim(Me.Cob_Fields(1).text) <> "" Then Rs_BoxSignTemp.Fields("每箱片数") = Val(Trim(Me.Cob_Fields(1).text)) Else Rs_BoxSignTemp.Fields("每箱片数") = 0
If Trim(Me.txt_Fields(8).text) <> "" Then Rs_BoxSignTemp.Fields("本箱片数") = 0
If Trim(Me.txt_Fields(9).text) <> "" Then Rs_BoxSignTemp.Fields("箱号") = i
If Trim(Me.txt_Fields(7).text) <> "" Then Rs_BoxSignTemp.Fields("防尘垫片数") = intTotalDustproofLastBoxNumbers
If Trim(Me.txt_Fields(10).text) <> "" Then Rs_BoxSignTemp.Fields("QC检查者") = Trim(Me.txt_Fields(10).text) Else Rs_BoxSignTemp.Fields("QC检查者") = ""
Rs_BoxSignTemp.Fields("包装日期和班次") = ""
Rs_BoxSignTemp.Update
End If
Next
End Sub
Private Sub Form_Load()
'On Error GoTo err
'初始化
For i = 0 To 11
Me.txt_Fields(i).text = ""
Next
For i = 0 To 1
Me.Cob_Fields(i).text = ""
Next i
Me.Cob_Fields(0).AddItem ("3")
Me.Cob_Fields(0).AddItem ("5")
Me.Cob_Fields(0).text = "3"
Me.Cob_Fields(1).AddItem ("1000")
Me.Cob_Fields(1).AddItem ("500")
Me.Cob_Fields(1).text = "1000"
Me.Frame1.Enabled = False
Me.Frame2.Enabled = True
Me.Frame3.Enabled = True
Call SpecBill_Info
Call Dustproof_BoxNumbers
Call Clear_BoxSignTemp
Call SetBoxSignTempDataSource
Exit Sub
err:
MsgBox err.Description, vbCritical
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call Frm_Whole_SpecBill.TDBGrid_Width_Set
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
'On Error GoTo err
Dim i As Integer
i = 0
Select Case Button.Index
Case 1 '第一条记录
If Not Rs_SpecBill.BOF Then
Rs_SpecBill.MoveFirst
Call SpecBill_Info
Call Dustproof_BoxNumbers
End If
Case 2 '前一条记录
Rs_SpecBill.MovePrevious
If Not Rs_SpecBill.BOF Then
Call SpecBill_Info
Call Dustproof_BoxNumbers
Else
Rs_SpecBill.MoveFirst
Call SpecBill_Info
Call Dustproof_BoxNumbers
End If
Case 3 '后一条记录
Rs_SpecBill.MoveNext
If Not Rs_SpecBill.EOF Then
Call SpecBill_Info
Call Dustproof_BoxNumbers
Else
Rs_SpecBill.MoveLast
Call SpecBill_Info
Call Dustproof_BoxNumbers
End If
Case 4 '末一条记录
If Not Rs_SpecBill.EOF Then
Rs_SpecBill.MoveLast
Call SpecBill_Info
Call Dustproof_BoxNumbers
End If
Case 6 '生成箱唛
'自动生成箱唛的记录数(箱数)和箱唛号(箱号-1格式),注册防尘垫/片和箱/片数量的填写,并添加到 BoxSignTemp中去
Call Clear_BoxSignTemp
Set Cn_BoxSignTemp = New ADODB.Connection
Cn_BoxSignTemp.Open Cs
Set Rs_BoxSignTemp = New ADODB.Recordset
Rs_BoxSignTemp.Open "select * from BoxSignTemp", Cn_BoxSignTemp, adOpenKeyset, adLockOptimistic, adCmdText
Call SaveBoxSign(Len(Trim(Me.txt_Fields(9).text)), Val(Trim(Me.txt_Fields(9).text)), intTotalDustproofBoxNumbers)
Call SetBoxSignTempDataSource
MsgBox "箱唛生成成功!"
Case 7 '删除箱唛
'清空 BoxSignTemp中记录
Call Clear_BoxSignTemp
Call SetBoxSignTempDataSource
MsgBox "箱唛删除成功!"
Case 8 '保存箱唛
'将 BoxSignTemp 中的记录 添加到 BoxSignTemp 中
'1、首先在BoxSign中按规格单号和小号来查找,查找为空时再保存,否则不保存给出提示
Set Cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cn.Open Cs
Rs.Open "select * from BoxSign where 规格单号='" & Trim(Me.txt_Fields(0).text) & "' and 小号='" & Trim(Me.txt_Fields(1).text) & "'", Cn, adOpenKeyset, adLockOptimistic, adCmdText
If Rs.RecordCount <> 0 Then
MsgBox "此箱唛已经保存过了!" + Chr(13) + "如果想重新生成,请先在箱唛总表中将此款节目删除后,再重新生成箱唛!", vbCritical
Exit Sub
End If
Cn.Close
'2、如果没有打开,现在打开,如果已经打开,就直接保存数据
Set Cn_BoxSign = New ADODB.Connection
Set Rs_BoxSign = New ADODB.Recordset
Cn_BoxSign.Open Cs
Rs_BoxSign.Open "select * from BoxSign", Cn_BoxSign, adOpenKeyset, adLockOptimistic, adCmdText
'3、保存到箱唛总表中
If Rs_BoxSignTemp.RecordCount <> 0 Then
Rs_BoxSignTemp.MoveFirst
Do While Not Rs_BoxSignTemp.EOF
If Rs_BoxSign.RecordCount <> 0 Then Rs_BoxSign.MoveLast
Rs_BoxSign.AddNew
If IsNull(Rs_BoxSignTemp!规格单号) = False Then Rs_BoxSign!规格单号 = Rs_BoxSignTemp!规格单号
If IsNull(Rs_BoxSignTemp!小号) = False Then Rs_BoxSign!小号 = Rs_BoxSignTemp!小号
If IsNull(Rs_BoxSignTemp!客户名称) = False Then Rs_BoxSign!客户名称 = Rs_BoxSignTemp!客户名称
If IsNull(Rs_BoxSignTemp!箱面标识) = False Then Rs_BoxSign!箱面标识 = Rs_BoxSignTemp!箱面标识
If IsNull(Rs_BoxSignTemp!采购单号) = False Then Rs_BoxSign!采购单号 = Rs_BoxSignTemp!采购单号
If IsNull(Rs_BoxSignTemp!料号) = False Then Rs_BoxSign!料号 = Rs_BoxSignTemp!料号
If IsNull(Rs_BoxSignTemp!节目名称) = False Then Rs_BoxSign!节目名称 = Rs_BoxSignTemp!节目名称
If IsNull(Rs_BoxSignTemp!订货数量) = False Then Rs_BoxSign!订货数量 = Rs_BoxSignTemp!订货数量
If IsNull(Rs_BoxSignTemp!每箱片数) = False Then Rs_BoxSign!每箱片数 = Rs_BoxSignTemp!每箱片数
If IsNull(Rs_BoxSignTemp!本箱片数) = False Then Rs_BoxSign!本箱片数 = Rs_BoxSignTemp!本箱片数
If IsNull(Rs_BoxSignTemp!箱号) = False Then Rs_BoxSign!箱号 = Rs_BoxSignTemp!箱号
If IsNull(Rs_BoxSignTemp!防尘垫片数) = False Then Rs_BoxSign!防尘垫片数 = Rs_BoxSignTemp!防尘垫片数
If IsNull(Rs_BoxSignTemp!QC检查者) = False Then Rs_BoxSign!QC检查者 = Rs_BoxSignTemp!QC检查者
If IsNull(Rs_BoxSignTemp!包装日期和班次) = False Then Rs_BoxSign!包装日期和班次 = Rs_BoxSignTemp!包装日期和班次
Rs_BoxSign.Update
Rs_BoxSignTemp.MoveNext
Loop
If Rs_BoxSign.State = 1 Then
Rs_BoxSign.Close
Cn_BoxSign.Close
End If
MsgBox "保存到箱唛总表成功!"
End If
Case 9 '退出
Unload Me
End Select
Exit Sub
err:
MsgBox err.Description, vbCritical
End Sub
Private Sub Txt_Fields_Change(Index As Integer)
Select Case Index
Case 2
Call Total_DustproofNumbers
Call Total_BoxNumbers
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -