📄 frm_jhgl_wlxq.frm
字号:
Text1(9).Text = rs6.Fields("wlxx_wlsl")
Text1(10).Text = SL1 * Val(Text1(9).Text)
End If
rs6.Close
End Sub
Private Sub Cbx_wlbh_GotFocus()
Cbx_wlbh.BackColor = &HFFFF80
End Sub
Private Sub Cbx_wlbh_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then Text1(6).SetFocus
End Sub
Private Sub Cbx_wlbh_LostFocus()
Cbx_wlbh.BackColor = &HFFFFFF
rs3.Open "select * from tb_SCGL_wlxx where wlxx_id='" + Cbx_wlbh.Text + "'", cnn, adOpenKeyset
If rs3.RecordCount > 0 Then
Text1(6).Text = rs3.Fields("wlxx_wlmc")
Text1(7).Text = rs3.Fields("wlxx_wlgg")
Text1(8).Text = rs3.Fields("wlxx_wldw")
Text1(9).Text = rs3.Fields("wlxx_wlsl")
Text1(10).Text = SL1 * Val(Text1(9).Text)
End If
rs3.Close
Myrs.Open "select * from tb_SCGL_wlxx where wlxx_id='" + Cbx_wlbh.Text + "' and wlxx_cpbh='" + Text1(1).Text + "' ", cnn, adOpenKeyset
If Myrs.RecordCount <= 0 Then
MsgBox "输入的物料编号不正确,或该产品没有相应的物料信息!", , "信息提示"
Cbx_wlbh.ListIndex = 0
' Cbx_wlbh.SetFocus
Myrs.Close
Exit Sub
End If
Myrs.Close
End Sub
Private Sub Dgr_Wlxq_Click()
Call view_data
End Sub
Private Sub Dtp_Jzrq_GotFocus()
Dtp_Jzrq.CalendarBackColor = &HFFFF80
End Sub
Private Sub Dtp_Jzrq_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then Text1(11).SetFocus
End Sub
Private Sub Dtp_Jzrq_LostFocus()
Dtp_Jzrq.CalendarBackColor = &HFFFFFF
Str2 = Val(Left(Dtp_Jzrq.Value, 4) + Right(Left(Dtp_Jzrq.Value, 7), 2) + Right(Dtp_Jzrq.Value, 2))
rs3.Open "select * from tb_SCGL_scjhd where scjhd_id='" + Cbx_Scjhd.Text + "'", cnn, adOpenKeyset
If rs3.RecordCount > 0 Then
SL = rs3.Fields("scjhd_jhsl")
Str1 = Val(Left(rs3.Fields("scjhd_tcrq"), 4) + Right(Left(rs3.Fields("scjhd_tcrq"), 7), 2) + Right(rs3.Fields("scjhd_tcrq"), 2)) '将生产计划开始日期赋给变量
If Str2 > Str1 Then
MsgBox "输入的物料截止时间应早于该计划单投产时间!", , "信息提示"
' Dtp_Jzrq.SetFocus
rs3.Close
Exit Sub
End If
End If
rs3.Close
End Sub
Private Sub Form_Activate()
Adodc1.ConnectionString = PublicStr
If sql <> "" Then
Adodc1.RecordSource = sql & " order by wlxq_id"
Adodc1.Refresh
Call view_data '调用过程
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox "没有找到符合条件的记录!", , "提示窗口"
End If
End If
Call Dgr_Title
End Sub
Sub Dgr_Title()
Dgr_Wlxq.Columns(0).Caption = "物料需求编号"
Dgr_Wlxq.Columns(1).Caption = "生产计划单"
Dgr_Wlxq.Columns(2).Caption = "产品编号"
Dgr_Wlxq.Columns(3).Caption = "产品名称"
Dgr_Wlxq.Columns(4).Caption = "产品规格"
Dgr_Wlxq.Columns(5).Caption = "产品单位"
Dgr_Wlxq.Columns(6).Caption = "产品数量"
Dgr_Wlxq.Columns(7).Caption = "物料编号"
Dgr_Wlxq.Columns(8).Caption = "物料名称"
Dgr_Wlxq.Columns(9).Caption = "物料规格"
Dgr_Wlxq.Columns(10).Caption = "物料单位"
Dgr_Wlxq.Columns(11).Caption = "单位需求量"
Dgr_Wlxq.Columns(12).Caption = "总数量"
Dgr_Wlxq.Columns(13).Caption = "截止日期"
Dgr_Wlxq.Columns(14).Caption = "备注信息"
End Sub
Private Sub Form_Load()
Dim rs2 As New ADODB.Recordset
rs2.Open "select * from tb_SCGL_scjhd ", cnn, adOpenKeyset
If rs2.RecordCount > 0 Then
For i = 0 To rs2.RecordCount - 1
'向Cbx_Scjhd控件中添加数据项
Cbx_Scjhd.AddItem Trim(rs2.Fields("scjhd_id"))
rs2.MoveNext
Next i
End If
rs2.Close
Cbx_Scjhd.ListIndex = 0
tlbState Toolbar1, False
view_data
'设置DataGrid标题
Call Dgr_Title
'设置控件状态
For i = 0 To Text1.UBound
Text1(i).Enabled = False
Next i
For i = 0 To 10
Text1(i).Locked = True
Next i
Cbx_Scjhd.Enabled = False
Cbx_wlbh.Enabled = False
Dtp_Jzrq.Enabled = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
sql = ""
End Sub
Private Sub Text1_GotFocus(Index As Integer)
Text1(Index).BackColor = &HFFFF80
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index))
End Sub
Private Sub text1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
If Index = 5 Then
Cbx_wlbh.SetFocus
Exit Sub
End If
If Index = 10 Then
Dtp_Jzrq.SetFocus
Exit Sub
End If
If Index = 11 Then Exit Sub
Text1(Index + 1).SetFocus
End If
If KeyAscii = vbKeyUp And Index > 1 Then Text1(Index - 1).SetFocus
End Sub
Private Sub Text1_LostFocus(Index As Integer)
Text1(Index).BackColor = &HFFFFFF
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.key
Case "add" '添加
blnadd1 = True
tlbState Toolbar1, True
'自动创建编号
Mystr = Left(Date, 4) + Right(Left(Date, 7), 2) + Right(Date, 2)
Dim rs1 As New ADODB.Recordset
rs1.Open "select * from tb_SCGL_wlxq where wlxq_id like+ '%'+'" + Mystr + "'+'%' order by wlxq_id", cnn, adOpenKeyset
If rs1.RecordCount > 0 Then
If rs1.EOF = False Then rs1.MoveLast
Text1(0).Text = "WLXQ" + Mystr + Format(Val(Right(Trim(rs1.Fields("wlxq_id")), 3)) + 1, "###000") '编号自动加1
Else
Text1(0).Text = "WLXQ" + Mystr + "001"
End If
rs1.Close '关闭数据集对象
'设置控件状态
For i = 1 To Text1.UBound
Text1(i).Enabled = True
Text1(i).Text = ""
Next i
For i = 0 To 10
Text1(i).Locked = True
Next i
Cbx_Scjhd.Enabled = True
Cbx_wlbh.Enabled = True
Dtp_Jzrq.Enabled = True
For i = 8 To 11
Toolbar1.Buttons(i).Enabled = False
Next i
SSTab1.Tab = 0
Cbx_Scjhd.SetFocus
Case "modify" '修改
If Adodc1.Recordset.RecordCount > 0 Then
blnadd1 = False
view_data
For i = 1 To Text1.UBound
Text1(i).Enabled = True
Next i
For i = 0 To 10
Text1(i).Locked = True
Next i
tlbState Toolbar1, True
Cbx_Scjhd.Enabled = True
Cbx_wlbh.Enabled = True
Dtp_Jzrq.Enabled = True
For i = 8 To 11
Toolbar1.Buttons(i).Enabled = False
Next i
Else
MsgBox "系统没有要修改的数据!", , "客户关系管理系统"
End If
Case "delete" '删除
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.Delete
Unload Me
Adodc1.Refresh
Frm_Jhgl_Wlxq.Show 1
Else
MsgBox "系统没有要删除的数据!", , "提示窗口"
End If
Case "save" '保存
If Cbx_Scjhd.Text = "" Then
MsgBox "系统不允许产品计划单为空!", , "提示窗口"
Exit Sub
End If
If Cbx_wlbh = "" Then
MsgBox "系统不允许物料编号为空!", , "提示窗口"
Exit Sub
End If
'''''' On Error GoTo SaveErr '出现错误转向错误处理
If blnadd1 = False Then
Set rs1 = New ADODB.Recordset
rs1.Open "select * from tb_SCGL_wlxq where wlxq_id='" + Text1(0) + "'order by wlxq_id", cnn, adOpenStatic
If rs1.RecordCount > 0 Then
Myval = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If Myval = vbYes Then
Myrs.Open "select * from tb_SCGL_scll where scll_scjhd='" + Cbx_Scjhd.Text + "'", cnn, adOpenKeyset
If Myrs.RecordCount > 0 Then
MsgBox "该计划单已投放生产,不能更改", , "信息提示"
Myrs.Close
Exit Sub
End If
Myrs.Close
Str2 = Val(Left(Dtp_Jzrq.Value, 4) + Right(Left(Dtp_Jzrq.Value, 7), 2) + Right(Dtp_Jzrq.Value, 2))
rs3.Open "select * from tb_SCGL_scjhd where scjhd_id='" + Cbx_Scjhd.Text + "'", cnn, adOpenKeyset
If rs3.RecordCount > 0 Then
SL = rs3.Fields("scjhd_jhsl")
Str1 = Val(Left(rs3.Fields("scjhd_tcrq"), 4) + Right(Left(rs3.Fields("scjhd_tcrq"), 7), 2) + Right(rs3.Fields("scjhd_tcrq"), 2)) '将生产计划开始日期赋给变量
If Str2 > Str1 Then
MsgBox "输入的物料截止时间应早于该计划单投产时间!", , "信息提示"
Dtp_Jzrq.SetFocus
rs3.Close
Exit Sub
End If
End If
rs3.Close
rs3.Open "select * from tb_SCGL_scjhd where scjhd_id='" + Cbx_Scjhd.Text + "'", cnn, adOpenKeyset
If rs3.RecordCount > 0 Then
rs4.Open "select * from tb_SCGL_wlxx where wlxx_cpbh='" + rs3.Fields("scjhd_cpbh") + "'", cnn, adOpenKeyset
If rs4.RecordCount <= 0 Then
Cbx_wlbh.Text = ""
MsgBox "该产品没有相应的物料信息!", , "信息提示"
rs4.Close
rs3.Close
Exit Sub
End If
rs4.Close
End If
rs3.Close
cnn.Execute ("update tb_SCGL_wlxq set wlxq_scjhd='" + Cbx_Scjhd.Text + "',wlxq_cpbh='" + Text1(1) + "',wlxq_cpmc='" + Text1(2) + _
"',wlxq_cpgg='" + Text1(3).Text + "',wlxq_cpdw='" + Text1(4) + "',wlxq_cpsl='" + Text1(5).Text + "',wlxq_wlbh='" + Cbx_wlbh.Text + "',wlxq_wlmc='" + Text1(6) + _
"',wlxq_wlgg='" + Text1(7) + "',wlxq_wldw='" + Text1(8) + "',wlxq_sl='" + Text1(9) + "',wlxq_zsl='" + Text1(10) + "',wlxq_jzrq='" + str(Dtp_Jzrq.Value) + "',wlxq_bz='" + Text1(11) + "' where wlxq_id='" + Text1(0) + "'")
Adodc1.Refresh
Set Dgr_Wlxq.DataSource = Adodc1
Call Dgr_Title
End If
End If
rs1.Close
Else
rs3.Open "select * from tb_SCGL_wlxq where wlxq_scjhd='" + Cbx_Scjhd.Text + "'and wlxq_wlbh='" + Cbx_wlbh.Text + "'", cnn, adOpenKeyset
If rs3.RecordCount > 0 Then
MsgBox "该生产计划单物料需求计划已经制定,请选择其他生产计划单!", , "信息提示"
Cbx_Scjhd.ListIndex = 0
Cbx_Scjhd.SetFocus
rs3.Close
Exit Sub
End If
rs3.Close
Set rs1 = New ADODB.Recordset
rs1.Open "tb_SCGL_wlxq", cnn, adOpenKeyset, adLockOptimistic
'添加客户信息
rs1.AddNew
rs1.Fields("wlxq_id") = Text1(0).Text
rs1.Fields("wlxq_scjhd") = Cbx_Scjhd.Text
rs1.Fields("wlxq_cpbh") = Text1(1).Text
rs1.Fields("wlxq_cpmc") = Text1(2).Text
rs1.Fields("wlxq_cpgg") = Text1(3).Text
rs1.Fields("wlxq_cpdw") = Text1(4).Text
rs1.Fields("wlxq_cpsl") = Text1(5).Text
rs1.Fields("wlxq_wlbh") = Cbx_wlbh.Text
rs1.Fields("wlxq_wlmc") = Text1(6).Text
rs1.Fields("wlxq_wlgg") = Text1(7).Text
rs1.Fields("wlxq_wldw") = Text1(8).Text
rs1.Fields("wlxq_sl") = Text1(9).Text
rs1.Fields("wlxq_zsl") = Text1(10).Text
rs1.Fields("wlxq_jzrq") = Dtp_Jzrq.Value
rs1.Fields("wlxq_bz") = Text1(11).Text
rs1.Update '更新数据库
Adodc1.Refresh
rs1.Close
End If
Call Dgr_Title
For i = 0 To Text1.UBound
Text1(i).Enabled = False
Next i
Cbx_Scjhd.Enabled = False
Cbx_wlbh.Enabled = False
Dtp_Jzrq.Enabled = False
tlbState Toolbar1, False
For i = 8 To 11
Toolbar1.Buttons(i).Enabled = True
Next i
Exit Sub
SaveErr: '错误处理
MsgBox Err.Description, , "信息提示"
Case "cancel"
view_data
For i = 0 To Text1.UBound
Text1(i).Enabled = False
Next i
Cbx_Scjhd.Enabled = False
Cbx_wlbh.Enabled = False
Dtp_Jzrq.Enabled = False
tlbState Toolbar1, False
For i = 8 To 11
Toolbar1.Buttons(i).Enabled = True
Next i
Case "find"
Tb = "tb_SCGL_wlxq"
Load Frm_Cxct
Frm_Cxct.Show 1
Case "first" '移到第一条记录
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MoveFirst
Call view_data '调用过程
Call Dgr_Title
Case "previous" '移到上一条记录
If Adodc1.Recordset.RecordCount > 0 Then
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirst
End If
Call view_data '调用过程
Call Dgr_Title
Case "next" '移到下一条记录
If Adodc1.Recordset.RecordCount > 0 Then
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
End If
Call view_data '调用过程
Call Dgr_Title
Case "last" '移到最后一条记录
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveLast
Call view_data '调用过程
Call Dgr_Title
Case "close"
Unload Me
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -