机房收费系统之随心所欲

来源:互联网 发布:房地产行业数据分析 编辑:程序博客网 时间:2024/05/05 12:58

  大家在着手机房收费系统前,需要看说明进行相应的配置工作,例如附加数据库,所以,相信好多人用的都是下发资料中的导出数据库。

后在功能实现或是优化的过程中,为了便于计算,添加了一些字段:比如计算上机时间还有下机时间差,定会用到DateDiff函数,期初没想太多,觉得哪有人会深夜上机,凌晨下机啊,所以计算时间的时候,直接用time计算:

【 Timefact = DateDiff("n", OnTime, Time)】没用date,后在测试功能的时候,改了本地时间,发现隔天下机,时间差为0,这样的赔本买卖,机房怎么会同意,所以,计算上下机时间差的时候,就需综合考虑,但是再计算date,将其换成分钟,又和time相加,太麻烦,所以,脑袋灵光一闪,想到了now,所以就在online表(正在上机表)里添加了一个字段onnow,在line表(上机记录表)里添加了一个字段offnow,计算起来就方便多了【 Timefact = DateDiff("n", onnow, now)】

  计算两个系统时间的差值,包括日期的差和时间的差
  DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
  interval 参数的设定值如下:
  设置 描述
  yyyy 年
  q 季
  m 月
  y 一年的日数
  d 日
  w 一周的日数
  ww 周
  h 时
  n 分钟
  s 秒

举例:使用 DateDiff 函数来显示某个日期与今日相差几天。

Dim TheDate As Date ' 声明变量。Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d", Now, TheDate)MsgBox Msg

  关于日结账单还有周结账单,日结账单我添加了UserID这个选项,便于查看是谁结的账。


  以下是组合查询的运行结果之一,期初输入卡号小于11的时候,大于11的卡号也会出现,很是纳闷,后才知道是数据库中数据类型导致的:

  将数据类型改为int 的弊端在于,输入01和1是等价的,所以,需要我们在不同的表中根据相应的功能进行调整。


0 0
原创粉丝点击