⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_jhgl_wlxq.frm

📁 PMS是一个生产管理系统,功能强大,供大家享用,希望大家支持!!
💻 FRM
📖 第 1 页 / 共 3 页
字号:
  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 + -