机房收费系统主窗体的上下机功能,需要得出你这段时间的消费时间,从而求出消费金额。起初,我感觉很简单,可是做着做着老是出错,有点按耐不住,直到最后实现了,回头看看,还是挺简单的。下面我跟大家说一下的的思路,仅供参考。
消费时间:
起初,我简单的认为把上下机的时间一减,问题就解决了,可是老是提示数据类型错误或者缺少**。查了一下才知道直接用一个 DateDiff 函数,问题就简单解决。
DateDiff 函数返回两个日期或时间的差值,表达式
DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
objrs!consumetime = DateDiff("n", objrs!uptime, objrs!downtime) '计算出上机时长
允许数据类型: timeinterval 表示相隔时间的类型,代码为:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小时 hh
分钟 mi、n
秒 ss、s
毫秒 ms
但是大家要注意了,这些时间类型的代码在VB中并不是都能用,大家可以发掘一下。
消费金额:
消费金额=消费时间*单位时间消费额
消费时间需要取整,这个去过网吧的人应该都比较清楚。用 if函数和整除来解决。
Dim consumetime As String '声明consumetime为消费时间段的变量, Dim rate As String '声明rate为单位时间的价格 Dim cash As String '声明cash 为消费金额 Dim unittime As String '声明单位时间
'判断是否超过了准备时间,否则不予扣钱 If consumetime < mrc!preparetime Then cash = 0 Else '判断消费时间是否为整(整个小时或整半个小时),不为整则向上补充至整 If consumetime Mod unittime = 0 Then cash = (consumetime \ unittime) * rate Else cash = (consumetime \ unittime + 1) * rate End If End If
做机房收费的时候,最好能联系生活,然后根据你的思路一步一步写出了就好了,是不是感觉so easy !