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

📄 main_htgl_chgl.frm

📁 用vb做的一套餐饮管理系统的,可以方便的实现餐饮行业的管理
💻 FRM
📖 第 1 页 / 共 3 页
字号:
           MSFlexGrid1.Col = 5
           grid1.Visible = False
          Else
           MsgBox ("无数据选择!!!")
           grid1.Visible = False
           text1.SetFocus
        End If
     End If
     text1.SetFocus
  End If
  If KeyCode = vbKeyEscape Then    '按ESC键grid1不可见,text1获得焦点
     grid1.Visible = False
     text1.SetFocus
   End If
End Sub
Private Sub jsr_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then ck.SetFocus
End Sub
Private Sub MSFlexGrid1_Click()     '单击MSFlexGrid1表,text1表可见并获得焦点
  If MSFlexGrid1.Row > 1 And MSFlexGrid1.TextMatrix(MSFlexGrid1.Row - 1, 7) <> "" Then
     text1.Visible = True
     text1.SetFocus
  End If
  If MSFlexGrid1.Row = 1 Then
     text1.Visible = True
     text1.SetFocus
  End If
End Sub
Private Sub MSFlexGrid1_entercell()    '确定text1在MSFlexGrid1表中的位置
  Dim X As String, y As String, p As String
  If MSFlexGrid1.CellWidth <= 0 Or MSFlexGrid1.CellHeight <= 0 Then Exit Sub
  X = MSFlexGrid1.TextMatrix(MSFlexGrid1.FixedRows, MSFlexGrid1.Col)
  y = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)
  If y <> "" Then
     If MSFlexGrid1.Col - MSFlexGrid1.LeftCol <= 3 Then
        MSFlexGrid1.LeftCol = MSFlexGrid1.LeftCol + 1
     End If
     If MSFlexGrid1.CellWidth > 0 And MSFlexGrid1.CellHeight > 0 Then
        text1.Width = MSFlexGrid1.CellWidth
        text1.Height = MSFlexGrid1.CellHeight
        text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
        text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
     End If
     X = MSFlexGrid1.TextMatrix(MSFlexGrid1.FixedRows, MSFlexGrid1.Col)
     y = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)
     p = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col)
     text1.text = MSFlexGrid1.text
     text1.SelStart = 0
     text1.SelLength = Len(text1.text)
  End If
End Sub
Private Sub MSFlexGrid1_RowColChange()
 '格式化MSFlexGrid1表的第4列、第6列
  For i = 1 To 101
      If MSFlexGrid1.TextMatrix(i, 1) <> "" Then
         MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4) = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4), "#0.00")
         MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)) * Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5))
         MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6), "#0.00")
      End If
  Next i
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  Dim ms1 As MSFlexGrid
  Set ms1 = MSFlexGrid1
  If KeyCode = vbKeyReturn Then
     grid1.Visible = False
     If MSFlexGrid1.Col = 1 Then
        If Adodc1.Recordset.RecordCount > 0 Then
          '赋值给MSFlexGrid1表格
           If Adodc1.Recordset.Fields("本级名称") <> "" Then MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = Trim(Adodc1.Recordset.Fields("本级名称"))
           If Adodc1.Recordset.Fields("商品编号") <> "" Then MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) = Trim(Adodc1.Recordset.Fields("商品编号"))
           If Adodc1.Recordset.Fields("单位") <> "" Then MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) = Trim(Adodc1.Recordset.Fields("单位"))
           If Adodc1.Recordset.Fields("单价") <> "" Then MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4) = Adodc1.Recordset.Fields("单价")
           text1.SetFocus
           text1.text = MSFlexGrid1.text
           grid1.Visible = False
           MSFlexGrid1.Col = 4
         Else
        End If
     End If
     
     If ms1.Col = 7 Then
        ms1.Row = ms1.Row + 1
        ms1.Col = 1
      Else
        If ms1.Col + 1 <= ms1.Cols - 1 Then
           ms1.Col = ms1.Col + 1
         Else
           If ms1.Row + 1 <= ms1.Rows - 1 Then
              ms1.Row = ms1.Row + 1
              ms1.Col = 1
           End If
        End If
     End If
  End If

  If KeyCode = vbKeyUp Then
     If ms1.Row > 1 Then ms1.Row = ms1.Row - 1
  End If
  If KeyCode = vbKeyDown Then
     If ms1.Row < 99 Then ms1.Row = ms1.Row + 1
  End If

  If KeyCode = vbKeyLeft Then
     If text1.text <> "" Then
        text1.SelStart = 0
        text1.SelLength = Len(text1.text)
     End If
     If ms1.Col - 7 <= ms1.Cols + 1 Then
        ms1.Col = ms1.Col - 1
        If ms1.Col = 0 Then ms1.Col = 1
       Else
        If ms1.Row + 1 <= ms1.Row - 1 Then
           ms1.Row = ms1.Row + 1
           ms1.Col = 1
        End If
     End If
  End If
 
  If KeyCode = vbKeyRight Then
     If text1.text <> "" Then
        text1.SelStart = 0
        text1.SelLength = Len(text1.text)
     End If
     If ms1.Col + 1 <= ms1.Cols - 1 Then
        ms1.Col = ms1.Col + 1
       Else
        If ms1.Row + 1 <= ms1.Rows - 1 Then
           ms1.Row = ms1.Row + 1
           ms1.Col = 1
        End If
     End If
  End If
  
  If KeyCode = vbKeyPageDown Then
     If ms1.Col = 1 Then
        Adodc1.RecordSource = "select * from 商品基础信息表 where 商品基础信息表.商品级别='3级'"
        Adodc1.Refresh
        If Adodc1.Recordset.RecordCount > 0 Then
           grid1.Visible = True
           grid1.SetFocus
        End If
     End If
  End If
End Sub
Private Sub Text1_Change()
  MSFlexGrid1.text = text1.text   '将text1的值赋给MSFlexGrid1
  If MSFlexGrid1.Col = 1 Then
     If text1.text = "" Then
        grid1.Visible = False
      Else
        '筛选商品名称或简称符合text1的记录
        Adodc1.RecordSource = "select * from 商品基础信息表 where (本级名称 like '" + text1.text + "'+ '%')or(本级简称 like '" + text1.text + "'+'%')and 商品基础信息表.商品级别='3级'"
        Adodc1.Refresh
        If Adodc1.Recordset.RecordCount > 0 Then
           grid1.Visible = True
           text1.SetFocus
        End If
     End If
  End If
  If MSFlexGrid1.Col = 2 Then
     If MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = "" Then
        MsgBox ("无商品名称,请重新输入!!!")
        MSFlexGrid1.Col = 1
     End If
  End If
  If MSFlexGrid1.Col = 4 Then
     '求金额
     MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)) * Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5))
  End If
  If MSFlexGrid1.Col = 5 Then
     '求金额
     MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4)) * Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5))
  End If
  Dim a As Single
  Dim B As Single
  Dim c As Single
  For i = 1 To 101
      If MSFlexGrid1.TextMatrix(i, 1) <> "" And MSFlexGrid1.TextMatrix(i, 5) <> "" Then
      pz.text = i                                  '品种数
      a = Val(MSFlexGrid1.TextMatrix(i, 6)) + a    '求合计金额
      B = Val(MSFlexGrid1.TextMatrix(i, 5)) + B    '求合计数量
  End If
  Next i
  hjsl.text = B
  hjje.text = Format(a, "0.00")                    '格式化合计金额
End Sub
Private Sub Comdj_Click()
  '文本框的大小和位置等于MSFlexGrid1中网格的大小和位置
  text1.Width = MSFlexGrid1.CellWidth
  text1.Height = MSFlexGrid1.CellHeight
  text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
  text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
  MSFlexGrid1.Enabled = True
  Dim lsph As Integer
  Set rs2 = New ADODB.Recordset
  '打开连接
  rs2.Open "select * from 出货表 order by 票号", cnn, adOpenKeyset, adLockOptimistic
  '创建出库票号
 If rs2.RecordCount > 0 Then
     If Not rs2.EOF Then rs2.MoveLast
     If rs2.Fields("票号") <> "" Then
        lsph = Right(Trim(rs2.Fields("票号")), 4) + 1
        ph.text = Date & "chd" & Format(lsph, "0000")
     End If
   Else
     ph.text = Date & "chd" & "0001"
  End If
  rs2.Close
  '设置控件可用或不可用状态
  Combc.Enabled = True
  Comqx.Enabled = True
  Comdj.Enabled = False
  text1.Enabled = True
  '清空MSFlexGrid1网格中的内容
  For i = 1 To 100
  For j = 1 To 7
      MSFlexGrid1.TextMatrix(i, j) = ""
  Next j
  Next i
  '清空文本框内容
  pz.text = "0"
  hjsl.text = "0"
  hjje.text = "0"
  jsr.SetFocus
End Sub
Private Sub Combc_Click()
  Set rs3 = New ADODB.Recordset
  rs3.Open "select * from 出货表", cnn, adOpenKeyset, adLockOptimistic
  If MSFlexGrid1.TextMatrix(1, 1) <> "" And MSFlexGrid1.TextMatrix(1, 5) <> "" Then
     For i = 1 To 100
         If MSFlexGrid1.TextMatrix(i, 1) <> "" And MSFlexGrid1.TextMatrix(i, 5) <> "" Then
           '添加新记录到"出货表"表中
            rs3.AddNew
            If MSFlexGrid1.TextMatrix(i, 1) <> "" Then rs3.Fields("商品名称") = Trim(MSFlexGrid1.TextMatrix(i, 1))
            If MSFlexGrid1.TextMatrix(i, 2) <> "" Then rs3.Fields("商品编号") = Trim(MSFlexGrid1.TextMatrix(i, 2))
            If MSFlexGrid1.TextMatrix(i, 3) <> "" Then rs3.Fields("单位") = Trim(MSFlexGrid1.TextMatrix(i, 3))
            If MSFlexGrid1.TextMatrix(i, 4) <> "" Then rs3.Fields("单价") = Val(MSFlexGrid1.TextMatrix(i, 4))
            If MSFlexGrid1.TextMatrix(i, 5) <> "" Then rs3.Fields("数量") = Val(MSFlexGrid1.TextMatrix(i, 5))
            If MSFlexGrid1.TextMatrix(i, 6) <> "" Then rs3.Fields("金额") = Val(MSFlexGrid1.TextMatrix(i, 6))
            If MSFlexGrid1.TextMatrix(i, 7) <> "" Then rs3.Fields("备注") = Trim(MSFlexGrid1.TextMatrix(i, 7))
            If jsr.text <> "" Then rs3.Fields("操作员") = frm_main.St1.Panels(3).text
            If jsr.text <> "" Then rs3.Fields("经手人") = Trim(jsr.text)
            If rkrq.text <> "" Then rs3.Fields("日期") = Trim(rkrq.text)
            If ph.text <> "" Then rs3.Fields("票号") = Trim(ph.text)
            If ck.text <> "" Then rs3.Fields("仓库") = Trim(ck.text)
            rs3.Update
            '添加新记录到"出货历史单据表"中
            Set rs4 = New ADODB.Recordset
            rs4.Open "select * from 出货历史单据表", cnn, adOpenKeyset, adLockOptimistic
            rs4.AddNew
            If ph.text <> "" Then rs4.Fields("出货票号") = Trim(ph.text)
            rs4.Fields("品种数") = pz.text
            rs4.Fields("数量") = Val(hjsl.text)
            rs4.Fields("金额") = Val(hjje.text)
            rs4.Fields("经手人") = jsr.text
            rs4.Fields("操作员") = frm_main.St1.Panels(3).text
            rs4.Fields("日期") = Now
            '更新数据库
            rs4.Update
            Set rs5 = New ADODB.Recordset
            '筛选符合商品编号和仓库的记录
            rs5.Open "select * from 库存信息表 where 商品编号='" & Trim(MSFlexGrid1.TextMatrix(i, 2)) & "'and 仓库='" & Trim(ck.text) & "'", cnn, adOpenKeyset, adLockOptimistic
            '判断是否有记录
            If rs5.RecordCount > 0 Then
               If rs5.Fields("商品名称") <> "" Then
                 '有记录,更新库存数量、库存金额
                  rs5.Fields("库存数量") = rs5.Fields("库存数量") - Trim(Val(MSFlexGrid1.TextMatrix(i, 5)))
                  rs5.Fields("库存金额") = Val(rs5.Fields("库存数量")) * Val(rs5.Fields("进价"))
                  rs5.Update
               End If
              Else
              '无记录,添加新记录到"库存信息表"表中
               rs5.AddNew
               If MSFlexGrid1.TextMatrix(i, 1) <> "" Then rs5.Fields("商品名称") = MSFlexGrid1.TextMatrix(i, 1)
               If MSFlexGrid1.TextMatrix(i, 2) <> "" Then rs5.Fields("商品编号") = MSFlexGrid1.TextMatrix(i, 2)
               If MSFlexGrid1.TextMatrix(i, 3) <> "" Then rs5.Fields("单位") = MSFlexGrid1.TextMatrix(i, 3)
               If MSFlexGrid1.TextMatrix(i, 4) <> "" Then rs5.Fields("进价") = Val(MSFlexGrid1.TextMatrix(i, 4))
               If MSFlexGrid1.TextMatrix(i, 5) <> "" Then rs5.Fields("库存数量") = Val(MSFlexGrid1.TextMatrix(i, 5))
               If MSFlexGrid1.TextMatrix(i, 6) <> "" Then rs5.Fields("库存金额") = Val(MSFlexGrid1.TextMatrix(i, 6))
               If ck.text <> "" Then rs5.Fields("仓库") = ck.text
               rs5.Update
            End If
         End If
     Next i
     '关闭数据集对象
     rs3.Close
     rs4.Close
     rs5.Close
     '设置控件状态
     Combc.Enabled = False
     Comdj.Enabled = True
     Comqx.Enabled = False
     text1.Visible = False
     MSFlexGrid1.Enabled = False
     grid1.Visible = False
   Else
     MsgBox ("填写数据不完整,请核对,再保存")
     MSFlexGrid1.Col = 1
     MSFlexGrid1.Row = 1
     grid1.Visible = False
  End If
End Sub
Private Sub Comqx_Click()                    '取消操作
  For i = 1 To 101
  For j = 1 To 7
      MSFlexGrid1.TextMatrix(i, j) = ""
  Next j
  Next i
  MSFlexGrid1.Enabled = False
  text1.Visible = False
  pz.text = "0"
  hjje.text = "0"
  hjsl.text = "0"
  Comdj.Enabled = True
  Comdj.SetFocus
End Sub
Private Sub Comdy_Click()                     '打印出库单
  DataE1.rsCommand7.Open "select * from 出货表 where 出货表.票号='" + Trim(ph.text) + "'order by 商品编号", cnn, adOpenKeyset, adLockOptimistic
  DR1_chdy.Show
End Sub
Private Sub Comend_Click()
  frm_main.Enabled = True
  Unload Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -