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

📄 main_qtgl_xs.frm

📁 钢材综合管理系统 钢材综合管理系统
💻 FRM
📖 第 1 页 / 共 4 页
字号:
End Sub
Private Sub MS1_entercell()     '确定text1在MS1表中的位置
 Dim X As String, y As String, p As String     '显示声明一个单精度浮点型变量
 If MS1.CellWidth <= 0 Or MS1.CellHeight <= 0 Then Exit Sub
 X = MS1.TextMatrix(MS1.FixedRows, MS1.Col)     '给变量赋初值
 y = MS1.TextMatrix(MS1.Row, 0)     '给变量赋初值
 If y <> "" Then
  If MS1.Col - MS1.LeftCol <= 3 Then
     MS1.LeftCol = MS1.LeftCol + 1
  End If
  If MS1.CellWidth > 0 And MS1.CellHeight > 0 Then
   Text1.Width = MS1.CellWidth: Text1.Height = MS1.CellHeight
   Text1.Left = MS1.CellLeft + MS1.Left: Text1.Top = MS1.CellTop + MS1.Top
  End If
  X = MS1.TextMatrix(MS1.FixedRows, MS1.Col): y = MS1.TextMatrix(MS1.Row, 0)
  p = MS1.TextMatrix(MS1.Row, MS1.Col)
  Text1.Text = MS1.Text
  Text1.SelStart = 0: Text1.SelLength = Len(Text1.Text)
 End If
End Sub
Private Sub MS1_RowColChange()     '格式化MS1表格中的第6列、第8列
 For i = 1 To 101
  If MS1.TextMatrix(i, 1) <> "" Then
   MS1.TextMatrix(MS1.Row, 6) = Format(MS1.TextMatrix(MS1.Row, 6), "#0.00")
   MS1.TextMatrix(MS1.Row, 8) = Val(MS1.TextMatrix(MS1.Row, 7)) * Val(MS1.TextMatrix(MS1.Row, 6))                         '计算金额
   MS1.TextMatrix(MS1.Row, 8) = Format(MS1.TextMatrix(MS1.Row, 8), "#0.00")
  End If
 Next i
End Sub
Private Sub sf_Change()      '求未付金额
  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
End Sub
Private Sub sl_Change()      '求应付金额
 yfje.Text = Format((Val(hjje.Text) * (Val(zk.Text) / 10)) + (Val(yfje.Text) * (Val(sl.Text) / 100)), "0.00")
End Sub
Private Sub sl_KeyDown(KeyCode As Integer, Shift As Integer)
 If KeyCode = vbKeyReturn Then Combo1.SetFocus
End Sub
Private Sub zk_Change()     '求应付金额
 sl_Change
End Sub
Private Sub hjje_Change()     '求应付金额
 sl_Change
 wf.Text = Format((Val(yfje.Text) - Val(sf.Text)), "0.00")
End Sub
Private Sub zk_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then sl.SetFocus                   '按回车键sl获得焦点
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then sf.SetFocus                   '按回车键sf获得焦点
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 Adodc2.Recordset
   If Adodc2.Recordset.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) = Trim(.Fields("产地"))
      If .Fields("单位") <> "" Then MS1.TextMatrix(MS1.Row, 5) = Trim(.Fields("单位"))
      If .Fields("零售价") <> "" Then MS1.TextMatrix(MS1.Row, 6) = .Fields("零售价")
      Text1.SetFocus     '按回车键text1获得焦点
      Text1.Text = MS1.Text     '赋值给text1
      grid1.Visible = False     'grid1不可见
      MS1.Col = 5     '将文本放置在第5列
   End If
   End With
  End If
  If MS1.Col = 8 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 - 8 <= 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 And MS1.Col = 1 Then
  '查询商品信息
   Adodc2.RecordSource = "select * from spinf "
   Adodc2.Refresh
   grid1.Visible = True     'grid1可见
   grid1.SetFocus     'grid1获得焦点
 End If
End Sub
Private Sub Text1_Change()
 MS1.Text = Text1.Text     '赋值给MS1
 If MS1.Col = 1 Then
  If Text1.Text = "" Then
     grid1.Visible = False
   Else
     '按商品名称或简称查询商品信息
     Adodc2.RecordSource = "select * from spinf where (商品名称 like '" + Text1.Text + "'+ '%')or(简称 like '" + Text1.Text + "'+'%')"
     Adodc2.Refresh
     If Adodc2.Recordset.RecordCount > 0 Then     '当记录大于零时
        grid1.Visible = True     'grid1可见
        Text1.SetFocus     'text1获得焦点
     End If
  End If
 End If
 If MS1.Col = 3 Then     '当到达第3列时
    If MS1.TextMatrix(MS1.Row, 1) = "" Then
       MsgBox ("无商品名称,请重新输入!!!")     '提示信息
       MS1.Col = 1
    End If
 End If
 If MS1.Col = 6 Then MS1.TextMatrix(MS1.Row, 8) = Val(MS1.TextMatrix(MS1.Row, 7)) * Val(MS1.TextMatrix(MS1.Row, 6))
 If MS1.Col = 7 Then MS1.TextMatrix(MS1.Row, 8) = Val(MS1.TextMatrix(MS1.Row, 7)) * Val(MS1.TextMatrix(MS1.Row, 6))
 Dim a, b As Single     '声明单精度浮点型变量
 For i = 1 To 101
  If MS1.TextMatrix(i, 1) <> "" And MS1.TextMatrix(i, 7) <> "" Then
  pz.Text = i     '品种数
  a = Val(MS1.TextMatrix(i, 8)) + a     '求合计金额
  b = Val(MS1.TextMatrix(i, 7)) + 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.Height = MS1.CellHeight
 Text1.Left = MS1.CellLeft + MS1.Left: Text1.Top = MS1.CellTop + MS1.Top
 MS1.Enabled = True
 Dim lsph As Integer     '声明一个整型变量
 '创建销售票号
 rs2.Open "select * from xsd order by 票号", cnn, adOpenKeyset, adLockOptimistic
 If rs2.RecordCount > 0 Then
   If Not rs2.EOF Then rs2.MoveLast
   If rs2.Fields("票号") <> "" Then
      lsph = Val(Right(Trim(rs2.Fields("票号")), 4)) + 1
      ph.Text = Date & "xs" & Format(lsph, "0000")
   End If
  Else
   ph.Text = Date & "xs" & "0001"
 End If
 rs2.Close
 '设置控件有效或无效
 kh.Enabled = True: sf.Enabled = True: Combc.Enabled = True
 Comqx.Enabled = True: Comdj.Enabled = False
 Text1.Enabled = True: sf.Enabled = True
 '清空数据
 For i = 1 To 100
 For j = 1 To 8
     MS1.TextMatrix(i, j) = ""
 Next j
 Next i
 kh.Text = "": pz.Text = "0": hjsl.Text = "0"
 hjje.Text = "0": sf.Text = "0": wf.Text = "0"
 kh.SetFocus     'kh获得焦点
End Sub
Private Sub Combc_Click()     '保存
 rs3.Open "select * from xsd", cnn, adOpenKeyset, adLockOptimistic     '打开数据库
 If MS1.TextMatrix(1, 1) <> "" And MS1.TextMatrix(1, 7) <> "" Then
  For i = 1 To 100
   If MS1.TextMatrix(i, 1) <> "" And MS1.TextMatrix(i, 7) <> "" Then
    '添加新记录到"xsd"表中
     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("产地") = Trim(MS1.TextMatrix(i, 4))
     If MS1.TextMatrix(i, 5) <> "" Then rs3.Fields("单位") = Trim(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("数量") = Val(MS1.TextMatrix(i, 7))
     If MS1.TextMatrix(i, 8) <> "" Then rs3.Fields("金额") = Val(MS1.TextMatrix(i, 8))
     If kh.Text <> "" Then rs3.Fields("客户全称") = Trim(kh.Text)
     rs3.Fields("操作员") = frm_main.czy.Text
     If jsr.Text <> "" Then rs3.Fields("经手人") = Trim(jsr.Text)
     If rq.Text <> "" Then rs3.Fields("日期") = Trim(rq.Text)
     If ph.Text <> "" Then rs3.Fields("票号") = Trim(ph.Text)
     If ck.Text <> "" Then rs3.Fields("仓库") = Trim(ck.Text)
     rs3.Update
     '筛选符合商品编号和仓库的记录
     rs5.Open "select * from kc where 商品编号='" & Trim(MS1.TextMatrix(i, 2)) & "'and 仓库='" & Trim(ck.BoundText) & "'", cnn, adOpenKeyset, adLockOptimistic
     If rs5.RecordCount > 0 Then     '当记录大于零时
        If rs5.Fields("商品名称") <> "" Then
         rs5.Fields("库存数量") = rs5.Fields("库存数量") - Trim(Val(MS1.TextMatrix(i, 7)))
         rs5.Fields("库存金额") = Val(rs5.Fields("库存数量")) * Val(rs5.Fields("进价"))
         rs5.Update
        End If
      Else
        MsgBox ("库存无此商品!")
     End If
     rs5.Close
     '添加记录到khmx表中
     rs6.Open "select * from khmx", cnn, adOpenKeyset, adLockOptimistic
     If rs6.EOF = False Then rs6.MoveLast
     rs6.AddNew
     If rq.Text <> "" Then rs6.Fields("日期") = rq.Text
     rs6.Fields("时间") = Time
     If ph.Text <> "" Then rs6.Fields("票号") = ph.Text
     If MS1.TextMatrix(i, 7) <> "" Then rs6.Fields("数量") = MS1.TextMatrix(i, 7)
     If MS1.TextMatrix(i, 8) <> "" Then rs6.Fields("金额小计") = MS1.TextMatrix(i, 8)
     If MS1.TextMatrix(i, 6) <> "" Then rs6.Fields("单价") = MS1.TextMatrix(i, 6)
     If MS1.TextMatrix(i, 5) <> "" Then rs6.Fields("单位") = MS1.TextMatrix(i, 5)
     If kh.Text <> "" Then rs6.Fields("客户全称") = kh.Text
     If kh.Text <> "" Then rs6.Fields("摘要") = "销售:【" & kh.Text & "】的" & "【" & MS1.TextMatrix(i, 1) & "," & MS1.TextMatrix(i, 3) & "】"
     rs6.Update     '更新数据库
     rs6.Close
   End If
  Next i
  '添加新记录到"xsph"表中
  rs4.Open "select * from xsph", cnn, adOpenKeyset, adLockOptimistic
  rs4.AddNew
  If ph.Text <> "" Then rs4.Fields("销售票号") = Trim(ph.Text)
  rs4.Fields("品种数") = pz.Text
  rs4.Fields("数量") = hjsl.Text
  rs4.Fields("金额") = 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(kh.Text)
  rs4.Fields("日期") = Trim(rq.Text)
  rs4.Fields("付款方式") = Combo1.Text
  If Val(wf.Text) <= 0 Then rs4.Fields("是否结清") = 1 Else rs4.Fields("是否结清") = 0
  rs4.Update     '更新数据库
  rs4.Close
  Adodc5.RecordSource = "select * from khmx  where (khmx.客户全称 like '" + kh.Text + "'and khmx.累计余额>0) "
  Adodc5.Refresh
  If Adodc5.Recordset.EOF = False Then Adodc5.Recordset.MoveLast
  If Adodc5.Recordset.RecordCount > 0 Then
  If Adodc5.Recordset.Fields("累计余额") <> "" Then khye.Text = Adodc5.Recordset.Fields("累计余额")
  End If
  Adodc5.RecordSource = "select * from khmx  where (khmx.客户全称 like '" + kh.Text + "')"
  Adodc5.Refresh
  If Adodc5.Recordset.RecordCount > 0 Then
     If Adodc5.Recordset.EOF = False Then Adodc5.Recordset.MoveLast
     Adodc5.Recordset.Fields("欠款记帐") = Val(wf.Text)
     Adodc5.Recordset.Fields("累计余额") = Val(khye.Text) + Val(wf.Text)
     Adodc5.Recordset.Update
  End If
 '设置控件有效或无效
  Combc.Enabled = False: Comdj.Enabled = True
  Comqx.Enabled = False: MS1.Enabled = False
  Text1.Visible = False: grid1.Visible = False: DataList1.Visible = False
 Else
  MsgBox ("填写数据不完整,请核对,再保存")
  MS1.Col = 1: MS1.Row = 1     '到第1行、到第1列
  grid1.Visible = False
 End If
 rs3.Close
End Sub
Private Sub Comqx_Click()                    '取消操作
 For i = 1 To 101
 For j = 1 To 8
     MS1.TextMatrix(i, j) = ""
 Next j
 Next i
 MS1.Enabled = False: Comdj.Enabled = True: sf.Enabled = False
 Text1.Visible = False
 pz.Text = "0": hjje.Text = "0": jsl.Text = "0"
 sf.Text = "0": wf.Text = "0": kh.Text = ""
 Comdj.SetFocus
End Sub
Private Sub Comend_Click()
 frm_main.Enabled = True
 Unload Me
End Sub


⌨️ 快捷键说明

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