机房收费系统之上下机

        一、上机流程

     

      部分代码展示

  If Not Testtxt(txtCardNo.Text) Then
     MsgBox "请您填写您的账号信息", vbOKOnly + vbExclamation, "警告"    '判断输入是否为空
     txtCardNo.SetFocus
   Exit Sub
  End If
   txtsql = "select * from student_Info where cardno='" & Trim(txtCardNo.Text) & "'and status='" & "使用" & "'"
     Set mrc = ExecuteSQL(txtsql, msgtext)
    If mrc.EOF Then
      MsgBox "该账号不存在", vbOKOnly + vbExclamation, "警告"       '判断是否存在该账号
      txtCardNo = ""
      txtCardNo.SetFocus
   Else
   
      txtsql2 = "select * from OnLine_Info where cardno='" & Trim(txtCardNo.Text) & "'"
        Set mrc2 = ExecuteSQL(txtsql2, msgtext)
        If mrc2.EOF = False Then
         MsgBox "该账号正在上机", vbOKOnly + vbExclamation, "警告"   '判断是否正在上机状态
         txtCardNo = ""
         txtCardNo.SetFocus
    Else
       
       txtsql3 = "select * from BasicData_Info"
       Set mrc3 = ExecuteSQL(txtsql3, msgtext)
        If Val(mrc.Fields(7)) < Val(mrc3.Fields(5)) Then   '此处代表余额小于设定的最小的上机金额,
        '如果只是小于一个具体数字的话会导致最低金额改动时,此处的约束无效
        MsgBox "余额不足,请先充值", vbOKOnly + vbExclamation, "提示"
        txtCardNo = ""

        二、下机流程

 

      重要部分代码展示

     CTime = DateDiff("n", mrc1.Fields(9), Format(Now(), "yyyy-mm-dd hh:mm:ss"))
        txtCTime.Text = Val(CTime)     '通过使用DateDiff函数对上机时间进行计算,并在此转化为分钟
     
     txtsql2 = "select * from BasicData_Info"
     Set mrc2 = ExecuteSQL(txtsql2, msgtext2)
     
     If CTime < mrc2.Fields(4) Then   '上机时间小于准备时间,不计算金额
      consume = 0
       
     Else
        
        
    txtsql = "select * from student_Info where cardno='" & (txtCardNo.Text) & "'"
    Set mrc = ExecuteSQL(txtsql, msgtext)  '消费金额=消费时间*单位费用(不同用户类型分别计算)
                                           '利用Round函数进行四舍五入取整
        If mrc.Fields(14) = "固定用户" Then
             consume = Round(((CTime - mrc2.Fields(4)) / 60) * mrc2.Fields(0), 0)
        Else
             consume = Round(((CTime - mrc2.Fields(4)) / 60) * mrc2.Fields(1), 0)
        End If
            txtCMoney.Text = Int(consume)
        End If
            
            Dim yue As Integer
            yue = Val(mrc.Fields(7) - consume)   '卡号余额=账户余额-消费额度
            txtBaLance.Text = yue
            
            mrc.Fields(7) = txtBaLance.Text
            mrc.Update
            mrc.Close
            mrc2.Close
        End If

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值