流程图
部分代码
计算消费时间
'计算上机时间
intLineTime = (Date - DateValue(onw!ondate)) * 1440 + (Hour(Time) - _
Hour(TimeValue(onw!OnTime))) * 60 + (Minute(Time) - _
Minute(TimeValue(onw!OnTime))) '计算机上机时间
txtctime.Text = Trim(intLineTime)
If intLineTime <= Val(Trim(bas.Fields(4))) Then '判断上机时间是否小于准备时间
txtCMoney.Text = 0
Else
'判断实际时间是否小于最低消费时间
If intLineTime <= Val(Trim(bas.Fields(3))) Then '如果小于
txtCMoney.Text = 0
Else
'实际在线时间大于最低消费时间则按单位时间算,分固定和临时两种用户
If intLineTime > Val(Trim(bas!leasttime)) And Trim(stu.Fields(14)) = "固定用户" Then
'如果在线时间大于准备时间和他是固定用户
curConsume = intLineTime / Val(Trim(bas!unittime)) '用上机时长除以递增时间 等于上机小时
txtCMoney.Text = Val(curConsume) * Val(fixedunit) '用上机小时乘固定用户每小时费用等于消费金额
Else
If intLineTime > Val(Trim(bas!leasttime)) And Trim(stu.Fields(14)) = "临时用户" Then
'如果是临时用户
curConsume = intLineTime / Val(bas!unittime) '用上机时长除以递增时间
txtCMoney.Text = Val(curConsume) * Val(temunit) '用上机小时乘临时用户每小时费用 等于消费金额
End If
End If
End If
计算消费金额和余额
'计算消费金额
curConsume = intLineTime / Val(bas!unittime) '用上机时长除以递增时间
txtCMoney.Text = Val(curConsume) * Val(temunit) '用上机小时乘临时用户每小时费用 等于消费金额
'计算余额(账户余额=原账户余额-消费余额)
txtbalance.Text = stu!cash - Val(txtCMoney.Text) '账户余额
显示上机人数
'显示上机人数
Dim onw1 As adodb.Recordset '判断卡号是否正在上机
txtsql = "select*from OnLine_Info"
Set onw1 = ExecuteSQL(txtsql, Msgtext)
lblUser.Caption = onw1.RecordCount
onw1.Close
更新上机表
'更新上机表
txtSQL = "select * from Line_Info " '获取上机记录表
Set LineSQL = ExecuteSQL(txtSQL, MsgText)
LineSQL.AddNew
LineSQL.Fields(1) = Trim(txtcardno.Text)
LineSQL.Fields(2) = Trim(txtsid.Text)
LineSQL.Fields(3) = Trim(txtname.Text)
LineSQL.Fields(4) = Trim(txtdept.Text)
LineSQL.Fields(5) = Trim(txtsex.Text)
LineSQL.Fields(6) = Trim(txtondate.Text)
LineSQL.Fields(7) = Trim(txtontime.Text)
LineSQL.Fields(8) = Trim(txtoffdate.Text)
LineSQL.Fields(9) = Trim(txtofftime.Text)
LineSQL.Fields(10) = Trim(txtctime.Text)
LineSQL.Fields(11) = Trim(txtCMoney.Text)
LineSQL.Fields(12) = Trim(txtbalance.Text)
LineSQL.Fields(13) = Trim("正常下机")
LineSQL.Fields(14) = Trim(ComputerName)
LineSQL.Update