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

📄 main_htgl_jhgl.frm

📁 餐饮企业的管理系统主要包括前台管理、后台管理、财务管理、报表打印等功能
💻 FRM
📖 第 1 页 / 共 4 页
字号:
End Sub
Private Sub MS1_entercell()    '确定text1在ms1表中的位置
 frm_main.Text1.text = "1"
 Call entercell     '调用函数
End Sub
Private Sub MS1_RowColChange()     '格式化ms1表的第4列、第6列
 For i = 1 To 101
  If MS1.TextMatrix(i, 1) <> "" Then
   MS1.TextMatrix(MS1.Row, 4) = Format(MS1.TextMatrix(MS1.Row, 4), "#0.00")
   MS1.TextMatrix(MS1.Row, 6) = Val(MS1.TextMatrix(MS1.Row, 4)) * Val(MS1.TextMatrix(MS1.Row, 5))        '使用Val函数将字符串转换为数值型
   MS1.TextMatrix(MS1.Row, 6) = Format(MS1.TextMatrix(MS1.Row, 6), "#0.00")
  End If
 Next i
End Sub

Private Sub MSFlexGrid1_Click()

End Sub

Private Sub sf_Change()     '未付金额
 wf.text = Format((Val(yfje.text) - Val(sf.text)), "0.00")
End Sub

Private Sub sf_LostFocus() '未设置实付金额
    If sf.text = "" Then
        sf.text = "0.00"
    End If
End Sub

Private Sub sl_Change()     '应付金额
 yfje_exp
 wf.text = Format((Val(yfje.text) - Val(sf.text)), "0.00")        '使用Val函数将字符串转换为数值型
End Sub
Private Sub sl_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then Combo1.SetFocus
  Call AcceptNumber(KeyCode)
End Sub

Private Sub sl_LostFocus() '未设置税率
If sl.text = "" Then
    sl.text = 0
End If
End Sub

Private Sub zk_Change()     '应付金额
 yfje_exp
 wf.text = Format((Val(yfje.text) - Val(sf.text)), "0.00")
End Sub
Private Sub zk_KeyDown(KeyCode As Integer, Shift As Integer) '输入折扣
 Call AcceptNumber(KeyCode)
 If KeyCode = vbKeyReturn Then sl.SetFocus
End Sub
Private Sub hjje_Change()     '应付金额、未付金额
    '使用Format函数将数据格式为“0.00”格式
  yfje_exp
  wf.text = Format((Val(yfje.text) - Val(sf.text)), "0.00")
End Sub

Private Sub sf_KeyDown(KeyCode As Integer, Shift As Integer) '输入实付金额
 If KeyCode = vbKeyReturn Then Combc.SetFocus
 Call AcceptNumber(KeyCode)
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) '添加货物信息
 If KeyCode = vbKeyReturn Then '如果输入的是回车键
  grid1.Visible = False '辅助输入项不可见
  If MS1.Col = 1 Then '如果是第一列
  'With语句用来在一个单一对象或一个用户定义类型上执行一系列的语句。
     With Adodc2.Recordset '
     If .RecordCount > 0 Then '如果记录集不为空
      '赋值给ms1表格
       If .Fields("本级名称") <> "" Then MS1.TextMatrix(MS1.Row, 1) = _
            Trim(.Fields("本级名称")) '显示数据库中的数据
       If .Fields("商品编号") <> "" Then MS1.TextMatrix(MS1.Row, 2) = _
            Trim(.Fields("商品编号")) '显示数据库中的数据
       If .Fields("单位") <> "" Then MS1.TextMatrix(MS1.Row, 3) = _
            Trim(.Fields("单位")) '显示数据库中的数据
       If .Fields("单价") <> "" Then MS1.TextMatrix(MS1.Row, 4) = _
            .Fields("单价") '显示数据库中的数据
       Text1.SetFocus '设置文本框Text1获得焦点
       Text1.text = MS1.text '设置Text1中显示MS1中的信息
       grid1.Visible = False '辅助列表项不可见
       MS1.Col = 4 'MS1的焦点移到第四列
     End If '结束If语句
     End With '结束With语句块
  End If '结束If语句
  If MS1.Col = 7 Then '如果是第7列
     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 '结束If语句
     End If '结束If语句
  End If '结束If语句
 End If '结束If语句
 If KeyCode = vbKeyUp Then '如果输入的是向上的方向键
    If MS1.Row > 1 Then MS1.Row = MS1.Row - 1 '焦点移到上一行
 End If '结束If语句
 If KeyCode = vbKeyDown Then '如果输入的是向下的方向键
    If MS1.Row < 99 Then MS1.Row = MS1.Row + 1 '焦点移到下一行
 End If '结束If语句
 If KeyCode = vbKeyLeft Then '如果输入的是向左的方向键
    If Text1.text <> "" Then '如过文本框Text1的内容不为空
     Text1.SelStart = 0 '设置文本框的起始点
     Text1.SelLength = Len(Text1.text) '设置所选择的字符数
    End If '结束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 '结束If语句
    End If '结束If语句
 End If '结束If语句
 If KeyCode = vbKeyRight Then Call moveright     '调用函数
 If KeyCode = vbKeyPageDown Then '如果输入的是翻页键
  If MS1.Col = 1 Then '如果是第一列
   Sql = "select * from 商品基础信息表 where 商品级别<>'1级'"  '查询商品信息
   Call FunAdo(Adodc2, Sql) '调用ADO控件的执行函数
   Adodc2.Refresh '刷新Adodc2的记录集
   If Adodc2.Recordset.RecordCount > 0 Then '如果记录集不为空
      grid1.Visible = True '显示辅助输入项
      grid1.SetFocus '焦点移到辅助输入项上
   End If '结束If语句
  End If '结束If语句
 End If '结束If语句
End Sub
Private Sub Text1_Change() '向供货信息表中输入数据
  MS1.text = Text1.text     '赋值给ms1.text
  If MS1.Col = 1 Then
     If Text1.text = "" Then
        grid1.Visible = False
      Else
        '筛选商品名称或简称符合text1的记录
        Sql = "select * from 商品基础信息表 where (商品全称 like '" + Text1.text + "%')"
        Call FunAdo(Adodc2, Sql)
        Adodc2.Refresh
        If Adodc2.Recordset.RecordCount > 0 Then
           grid1.Visible = True
           Text1.SetFocus
        End If
     End If
  End If
  If MS1.Col = 2 Then
     If MS1.TextMatrix(MS1.Row, 1) = "" Then
        MsgBox ("无商品名称,请重新输入!!!")
        MS1.Col = 1
     End If
  End If
  If MS1.Col = 4 Then MS1.TextMatrix(MS1.Row, 6) = Val(MS1.TextMatrix(MS1.Row, 4)) * Val(MS1.TextMatrix(MS1.Row, 5))
  If MS1.Col = 5 Then MS1.TextMatrix(MS1.Row, 6) = Val(MS1.TextMatrix(MS1.Row, 4)) * Val(MS1.TextMatrix(MS1.Row, 5))
  Dim a, B As Single
  For i = 1 To 101
      If MS1.TextMatrix(i, 1) <> "" And MS1.TextMatrix(i, 5) <> "" Then
         pz.text = i                                  '品种数
         a = Val(MS1.TextMatrix(i, 6)) + a   '求合计金额
         B = Val(MS1.TextMatrix(i, 5)) + B    '求合计数量
      End If
  Next i
  hjsl.text = B: hjje.text = Format(a, "0.00")
End Sub
Private Sub Comdj_Click() '开始录入进货信息
  '文本框的大小和位置等于ms1中网格的大小和位置
  Text1.Width = MS1.CellWidth '设置Text1的宽度
  Text1.Height = MS1.CellHeight '设置Text1的高度
  Text1.Left = MS1.CellLeft + MS1.Left '设置Text1的左边距
  Text1.Top = MS1.CellTop + MS1.Top '设置Text1的顶端边距
  MS1.Enabled = True '设置MS1控件可用
  rs2.Open "select * from 进货表 order by 票号", _
            cnn, adOpenKeyset, adLockOptimistic  '打开"进货表"
  '创建进货票号
 If rs2.RecordCount > 0 Then '如果rs2的记录集不为空
     If Not rs2.EOF Then rs2.MoveLast 'rs2的指针移到文件尾
     If rs2.Fields("票号") <> "" Then '如果字段票号不为空
        lsph = Right(Trim(rs2.Fields("票号")), 4) + 1 '进货票号加1
        ph.text = Date & "jhd" & Format(lsph, "0000") '格式化进货票号
     End If '结束If语句
   Else '如果记录集为空
     ph.text = Date & "jhd" & "0001" '设置进货票号
  End If '结束If语句
  rs2.Close '关闭记录集
  '设置控件可用或不可用状态
  gys.Enabled = True '设置gys文本框可用
  sf.Enabled = True '设置sf文本框可用
  Combc.Enabled = True '设置Combc按钮可用
  Comqx.Enabled = True '设置Comqx按钮可用
  Comdj.Enabled = False '设置Comdj按钮不可用
  Text1.Enabled = True '设置Text1文本框可用
  sf.Enabled = True '设置sf文本框可用
  gys.SetFocus '设置gys文本框获得焦点
  '清空数据
  For i = 1 To 100 '设置行的循环值
  For j = 1 To 7 '设置列的循环值
      MS1.TextMatrix(i, j) = "" '清空数据
  Next j '变量j值加1
  Next i '变量i值加1
  gys.text = "": pz.text = "0": hjsl.text = "0" '初始化文本框显示信息
  hjje.text = "0": sf.text = "0": wf.text = "0" '初始化文本框显示信息
End Sub
Private Sub Combc_Click() '进货信息存入数据库
 If MS1.TextMatrix(1, 1) <> "" And MS1.TextMatrix(1, 5) <> "" Then
    For i = 1 To 100
     If MS1.TextMatrix(i, 1) <> "" And MS1.TextMatrix(i, 5) <> "" Then
     '添加新记录到"进货表"表中
      rs3.Open "select * from 进货表", cnn, adOpenKeyset, adLockOptimistic
      rs3.AddNew
      If MS1.TextMatrix(i, 1) <> "" Then rs3.Fields("商品名称") = Trim(MS1.TextMatrix(i, 1))
      If MS1.TextMatrix(i, 2) <> "" Then rs3.Fields("商品编号") = Trim(MS1.TextMatrix(i, 2))
      If MS1.TextMatrix(i, 3) <> "" Then rs3.Fields("单位") = Trim(MS1.TextMatrix(i, 3))
      If MS1.TextMatrix(i, 4) <> "" Then rs3.Fields("进价") = Val(MS1.TextMatrix(i, 4))
      If MS1.TextMatrix(i, 5) <> "" Then rs3.Fields("数量") = Val(MS1.TextMatrix(i, 5))
      If MS1.TextMatrix(i, 6) <> "" Then rs3.Fields("金额") = Val(MS1.TextMatrix(i, 6))
      If MS1.TextMatrix(i, 7) <> "" Then rs3.Fields("备注") = Trim(MS1.TextMatrix(i, 7))
      If gys.text <> "" Then rs3.Fields("供应商") = Trim(gys.text)
      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
      rs3.Close
      '筛选符合商品编号和仓库的记录
      rs5.Open "select * from 库存信息表 where 商品编号='" & Trim(MS1.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(MS1.TextMatrix(i, 5)))
        rs5.Fields("库存金额") = Val(rs5.Fields("库存数量")) * Val(rs5.Fields("进价"))
        rs5.Update
       End If
      Else
      '无记录,添加新记录到"库存信息表"表中
       rs5.AddNew
       If MS1.TextMatrix(i, 1) <> "" Then rs5.Fields("商品名称") = MS1.TextMatrix(i, 1)
       If MS1.TextMatrix(i, 2) <> "" Then rs5.Fields("商品编号") = MS1.TextMatrix(i, 2)
       If MS1.TextMatrix(i, 3) <> "" Then rs5.Fields("单位") = MS1.TextMatrix(i, 3)
       If MS1.TextMatrix(i, 4) <> "" Then rs5.Fields("进价") = Val(MS1.TextMatrix(i, 4))
       If MS1.TextMatrix(i, 5) <> "" Then rs5.Fields("库存数量") = Val(MS1.TextMatrix(i, 5))
       If MS1.TextMatrix(i, 6) <> "" Then rs5.Fields("库存金额") = Val(MS1.TextMatrix(i, 6))
       If ck.text <> "" Then rs5.Fields("仓库") = ck.text
       rs5.Update
      End If
      rs5.Close
     End If
    Next i
    '添加新记录到"进货单据临时表"中
    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("折扣") = zk.text
    rs4.Fields("税率") = Val(sl.text) / 100
    rs4.Fields("应付") = Val(yfje.text)
    rs4.Fields("实付") = Val(sf.text)
    rs4.Fields("未付") = Val(wf.text)
    rs4.Fields("经手人") = Trim(jsr.text)
    rs4.Fields("操作员") = frm_main.St1.Panels(3).text
    rs4.Fields("供应商全称") = Trim(gys.text)
    rs4.Fields("欠款日期") = Now
    rs4.Fields("付款方式") = Combo1.text
    If Val(wf.text) <= 0 Then rs4.Fields("是否结清") = "是" Else rs4.Fields("是否结清") = "否"
    rs4.Update     '更新数据库
    rs4.Close     '关闭数据集对象
   '设置控件状态
    Combc.Enabled = False: Comdj.Enabled = True: Comqx.Enabled = False
    Text1.Visible = False: MS1.Enabled = False: grid1.Visible = False
    DataList1.Visible = False: sf.Enabled = False
    gys.Enabled = False
  Else
    MsgBox ("填写数据不完整,请核对,再保存")
    MS1.Col = 1: MS1.Row = 1
    grid1.Visible = False
 End If
End Sub
Private Sub Comqx_Click()     '取消操作
 For i = 1 To 101
 For j = 1 To 7
     MS1.TextMatrix(i, j) = ""
 Next j
 Next i
 MS1.Enabled = False: Text1.Visible = False: pz.text = "0"
 hjje.text = "0": hjsl.text = "0": sf.text = "0": wf.text = "0": gys.text = ""
 Comdj.Enabled = True: sf.Enabled = False
 Comqx.Enabled = False: Combc.Enabled = False
 gys.Enabled = False
 DataList1.Visible = False
 Comdj.SetFocus
End Sub
Private Sub Comdy_Click()     '打印进货单
 DataE1.rsCommand6.Open "select * from 进货表 where 进货表.票号='" + Trim(ph.text) + "'order by 商品编号", cnn, adOpenKeyset, adLockOptimistic
 DR1_jhdy.Show
End Sub
Private Sub comend_Click() '退出进货管理
 frm_main.Enabled = True
 Unload Me
End Sub


Private Sub zk_LostFocus() '没有输入折扣设置默认值
If zk.text = "" Then
    zk.text = 10
End If
End Sub

⌨️ 快捷键说明

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