1. 程式人生 > >機房收費系統之周結賬單

機房收費系統之周結賬單

       機房收費的周結賬單是日結賬單的衍生,因為在每一天中都可以結好幾次帳,最後在日結賬單表中一天的記錄有好幾個,而周結賬單就是為了解決這個問題。把每一天的記錄彙總成一條來顯示出來,方便管理員清楚的瞭解到每天的營業情況。

  大致思路

  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


    到此整個周結賬單表中的資料就新增好了。