您的位置:首页 > 数据库

机房收费系统之周结账单

2013-09-21 21:32 260 查看
 

 

       机房收费的周结账单是日结账单的衍生,因为在每一天中都可以结好几次帐,最后在日结账单表中一天的记录有好几个,而周结账单就是为了解决这个问题。把每一天的记录汇总成一条来显示出来,方便管理员清楚的了解到每天的营业情况。

 

  大致思路

 

  1.周结账单表是可以选择起始日期和终止日期来查看最近的消费情况。

  2.周结账单表是一张空的表,在需要的时候才添加数据,不需要的时候就会删除整个表中的数据。

 

  3.由于是一张空表,所以我们要添加记录

 

  4.我们要汇总每一天的总的消费、总退卡钱数、总充值钱数

 

 

  代码过程

 

 

  删除操作

  我们要在每一刷新的时候,都删掉表中的数据,然后再添加。

 

txtsql = "delete from checkweek"    '执行删除命令
Set mrc = executesql(txtsql, msgtext)


  添加空表数据

 

Do While endtime.Value - starttime.Value >= 0
txtsql1 = "select * from checkday where date ='" & Trim(starttime.Value - 1) & "'"
Set mrcc = executesql(txtsql1, msgtext)
If mrcc.EOF = True Then
mrcc.AddNew
mrcc.Fields(0) = 0
mrcc.Fields(1) = 0
mrcc.Fields(2) = 0
mrcc.Fields(3) = 0
mrcc.Fields(4) = 0
mrcc.Fields(5) = starttime.Value - 1
mrcc.Update

End If
Loop


  通过执行指针的操作来判断空表的存在,从而添加数据。

 

 

  消费、退卡,充值汇总

  此过程需要连接两次数据库

  代码如下:

 

 

Do
'执行汇总,得到各个记录的汇总
txtsql = "select sum(lastdate),SUM(onconsume),SUM(onrecharge),SUM(onreturn),sum(ondateall) from checkday where date='" & Trim(starttime.Value) & "'"
Set mrc = executesql(txtsql, msgtxt)

'上次剩余金额
txtsql2 = "select * from checkday where date='" & Trim(starttime.Value - 1) & "'"
Set mrc2 = executesql(txtsql2, msgtext)
mrc2.MoveLast
lastremain = mrc2.Fields(4)
mrc2.Close

'开始添加数据
txtsql1 = "select * from checkweek where date='" & Trim(starttime.Value) & "'"
Set mrcc = executesql(txtsql1, msgtext)

'此过程是用来把汇总表中记录添加到周结账单表中

mrcc.AddNew
mrcc.Fields(0) = lastremain
mrcc.Fields(1) = mrc.Fields(1)
mrcc.Fields(2) = mrc.Fields(2)
mrcc.Fields(3) = mrc.Fields(3)
mrcc.Fields(4) = lastremain + mrc.Fields(1) - mrc.Fields(3) + mrc.Fields(2)
mrcc.Fields(5) = starttime.Value
mrcc.Update
starttime.Value = starttime.Value + 1

Loop


    到此整个周结账单表中的数据就添加好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 select