【机房管理】上下机





上机


    '判断是否为空
    
    '判断卡号是否注册,是否退卡
    
    '查BasicData_Info,判断余额是否小于最小金额
    txtSQL = "select*from BasicData_Info"
    Set mrcBasicData = ExecuteSQL(txtSQL, MsgText)
    mrcBasicData.MoveFirst
    If Val(mrc.Fields(7)) < Val(mrcBasicData.Fields(5)) Then
        MsgBox "余额不足,请充值后上机", vbOKOnly + vbExclamation, "提示"
        txtCardNo.Text = ""
        txtCardNo.SetFocus
    Else
        '查OnLine_Info,看该卡是否在上机
        txtSQL = "select*from OnLine_Info where cardno='" & Trim(txtCardNo.Text) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If mrc.EOF = False Then
            MsgBox "该卡正在上机,不能重复上机!"
            txtCardNo.Text = mrc.Fields(0)
            ...
            txtOnTime.Text = mrc.Fields(7)
            txtSQL = "select*from student_Info where cardno='" & Trim(txtCardNo.Text) & "'"
            Set mrccash = ExecuteSQL(txtSQL, MsgText)
            txtBalance.Text = mrccash!cash
        Else
            '正常上机,显示卡号信息

            '更新Line_Info数据
                
            '更新OnLine_Info数据
                


下机

    Dim intLineTime As Integer   '用于存储实际在线时间
    Dim curConsume As Single     '用于存储真正花费钱的时间
    Dim remaincash As Single     '用于存储用户的余额
    Dim fixedunit As Single      '用于固定用户存储单位金额
    Dim temunit As Single        '用于临时用户存储单位金额
    Dim a As Integer
    
    '判断卡号是否为空,判断是否为数字
     
    '判断卡号是否注册,是否退卡
    
    '判断该卡号是否在上机,没有上机不能下机
    
    '计算所消费的时间
    intLineTime = (Date - DateValue(mrc!onDate)) * 1440 + (Hour(Time) - Hour(TimeValue(mrc!OnTime))) * 60 + (Minute(Time) - Minute(TimeValue(mrc!OnTime))) '时间单位为分钟
       
    txtSQL = "select * from student_Info where cardno='" & Trim(txtCardNo.Text) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    '获得基本表的数据
    txtSQL = "select * from BasicData_Info"
    Set mrcBasicData = ExecuteSQL(txtSQL, MsgText)
    mrcBasicData.MoveFirst
    
    '单位时间的费用 (把固定用户,临时用户单位时间的费用分别赋值给费用)
    fixedunit = Val(mrcBasicData.Fields(0)) '把固定用户的金额赋值给变量
    temunit = Val(mrcBasicData.Fields(1)) '把临时用户的金额赋值给变量
    
    '判断在线时间是否小于准备时间,若小于则 消费金额0元
    If intLineTime <= Val(Trim(mrcBasicData.Fields(4))) Then
        txtExpenseCash.Text = "0"
    Else
   '判断在线时间是否小于最低消费时间,若小于则消费金额为0元
       If intLineTime < Val(Trim(mrcBasicData.Fields(3))) Then
            txtExpenseCash.Text = "0"
       End If
    End If
  
   '在线时间大于单位时间,就按有几个单位时间算,固定用户、临时用户
    If intLineTime >= Val(Trim(mrcBasicData!leastTime)) And intLineTime And Trim(mrc.Fields(14)) = "固定用户" Then
        a = Int(intLineTime / Val(Trim(mrcBasicData!unitTime)))
            If a = intLineTime / Trim(mrcBasicData!unitTime) Then
                curConsume = a
            Else
                curConsume = a + 1
            End If
        txtExpenseCash.Text = Val(curConsume) * Val(fixedunit)
    Else
         If intLineTime >= Val(Trim(mrcBasicData!leastTime)) And intLineTime And Trim(mrc.Fields(14)) = "临时用户" Then
            a = Int(intLineTime / Val(Trim(mrcBasicData!unitTime)))
                If a = intLineTime / Trim(mrcBasicData!unitTime) Then
                     curConsume = a
                Else
                     curConsume = a + 1
                End If
            txtExpenseCash.Text = Val(curConsume) * Val(temunit)
         End If
    End If
   
   
    '更新学生表

    '下机显示,更新在线表的信息显示
    
    '更新上机记录表
    
End Sub




再看一遍,发现还是挺简单的,以后要继续加油!






评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值