现在的位置: 首页 > 综合 > 正文

机房收费系统——计算消费金额

2013年03月08日 ⁄ 综合 ⁄ 共 1008字 ⁄ 字号 评论关闭

      机房收费系统主窗体的上下机功能,需要得出你这段时间的消费时间,从而求出消费金额。起初,我感觉很简单,可是做着做着老是出错,有点按耐不住,直到最后实现了,回头看看,还是挺简单的。下面我跟大家说一下的的思路,仅供参考。

      消费时间:

      起初,我简单的认为把上下机的时间一减,问题就解决了,可是老是提示数据类型错误或者缺少**。查了一下才知道直接用一个 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 !

     

 

抱歉!评论已关闭.