您的位置:首页 > 其它

机房收费系统——下机

2018-01-25 17:40 232 查看
有了上机的思路,下机当然也就很简单了,不过总是要比别人多想一步,这样你就能够比别人更加的优秀。

下机的流程图

                                         


下机的注意事项:

 

(0)下机的日期和日间要是现在的时间:

txtontime.Text = Trim(mrc3.Fields(7))
txtdowndate.Text = Format(Now(), "yyyy-mm-dd")
txtdowntime.Text = Format(Now, "HH:MM:SS")
time = DateDiff("n", Trim(txtontime.Text), Trim(txtdowntime.Text))

 (1)计算消费余额:消费时间*单位费用(分级别区别收费)

'判断消费金额是多少

Dim All As Single  '消费时间
Dim Money As Integer '最终金额
Dim Rate As Single   '  固定用户单位时间的金额

All = txtspendtime.Text  '消费时间

Rate = Trim(mrc1.Fields(0))   '一小时多少钱
rate1 = Trim(mrc1.Fields(1))
If Trim(txtspendtime.Text) < nomoneyTime Then
txtspendtime.Text = "0"
Money = 0
Else
txtsql = "select * from student_Info where cardno='" & (txtcardno.Text) & "'"
Set mrc = executeSQL(txtsql, msgtext)  '消费金额=消费时间*单位费用(不同用户类型分别计算)
'利用Round函数进行四舍五入取整
If mrc.Fields(14) = "固定用户" Then
Money = Round(((Money - mrc1.Fields(4)) / 60) * mrc1.Fields(0), 0)

Else
Money = Round(((Money - mrc1.Fields(4)) / 60) * mrc1.Fields(1), 0)
End If

txtreatmoney.Text = Int(Money)

End If
txtreatmoney.Text = Money
(2)计算余额:

'余额减去消费金额等于新的余额
txtsql = "select * from student_Info where cardno = '" & txtcardno.Text & "'"
Set mrc = executeSQL(txtsql, msgtext)

txtreatmoney.Text = Trim(mrc.Fields(7)) - Money


(3)更新

 

'将数据更新到line表中
txtsql3 = "select * from line_Info"
Set mrc = executeSQL(txtsql3, msgtext3)

While (mrc3.EOF = False)
mrc3.MoveNext
Wend

mrc.AddNew
mrc.Fields(1) = Trim(txtcardno.Text)
mrc.Fields(2) = Trim(txtstuno.Text)
mrc.Fields(3) = Trim(txtname.Text)
mrc.Fields(4) = Trim(txtmajor.Text)
mrc.Fields(5) = Trim(txtsex.Text)
mrc.Fields(6) = Trim(txtondate.Text)
mrc.Fields(7) = Trim(txtontime.Text)
mrc.Fields(8) = Trim(txtdowndate.Text)
mrc.Fields(9) = Trim(txtdowntime.Text)
mrc.Fields(10) = Trim(txtspendtime.Text)
mrc.Fields(11) = Trim(txtspendtime.Text)
mrc.Fields(12) = Trim(txtreatmoney.Text)
mrc.Fields(13) = "正常下机"
mrc.Fields(14) = Trim(labelPEName.Caption)
mrc.Update
mrc.Close

'删除记录
txtsql2 = "delete from OnLine_Info where cardno = '" & txtcardno.Text & "'"
Set mrc2 = executeSQL(txtsql2, msgtext2)

'刷新当前在线数量
txtsql2 = "select count(*) from OnLine_Info"
Set mrc2 = executeSQL(txtsql2, msgtext2)
Label15.Caption = Trim(mrc2.Fields(0))


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: