結賬是做機房遇到的難點之一, 難在是第一次接觸結賬計算功能,所以很多情況考慮不夠全面,做之前一定要梳理關係,把結賬的關係梳理清楚,有乙個自己的思路,那麼,做起來還是很簡單的,每乙個功能都有它的套路,只要找到了關鍵的部分,剩下的就是去做了。
如:
'購卡
'連線資料庫
txtsql = "select * from student_info where userid='" & trim(cbuser.text) & "'and ischeck='未結賬'"
set mrc = executesql(txtsql, msgtext)
'充值 '連線資料庫
txtsql = "select * from recharge_info where userid='" & cbuser.text & "'and status='未結賬'"
set mrc = executesql(txtsql, msgtext)
'退卡 '連線資料庫
txtsql = "select * from cancelcard_info where userid='" & trim(cbuser.text) & "'and status='未結賬'"
set mrc = executesql(txtsql, msgtext)
'臨時使用者
'連線資料庫
txtsql = "select * from student_info where userid='" & trim(cbuser.text) & "'and type='臨時使用者'and ischeck='未結賬'"
彙總需要計算,該操作員售卡張數、退卡金額、退卡張數、總售卡數、充值金額、應收金額、臨時收費金額
售卡張數通過student_info表查出,查詢**為
'通過student表---查詢該操作員售卡數,
txtsql = "select * from student_info where userid='" & trim(cbuser.text) & "'and ischeck='未結賬'" 'and date=date and status='使用'"
set mrc = executesql(txtsql, msgtext)
退卡金額通過cancelcard_info
表查出,查詢**為
'通過candelcard表,檢視退卡金額
txtsql = "select sum(cancelcash) as sum_info from cancelcard_info where userid = '" & trim(cbuser.text) & "' and status='未結賬'"
set mrc = executesql(txtsql, msgtext)
退卡張數通過cancelcard_info表,查詢**為
'查詢退卡張數
txtsql = "select * from cancelcard_info where userid='" & trim(cbuser.text) & "'and status= '未結賬' "
set mrc = executesql(txtsql, msgtext)
總售卡數通過student_info查詢,查詢**為
'機房該操作員總售卡數
txtsql = "select * from student_info where userid='" & trim(cbuser.text) & "'"
set mrc = executesql(txtsql, msgtext)
充值金額利用臨時表查出,**為
'充值金額
txtsql = "select sum(addmoney) as sum_info from recharge_info where userid = '" & cbuser.text & "' and status='未結賬'"
set mrc = executesql(txtsql, msgtext)
if isnull(trim(mrc.fields(0))) then '充值金額是否為空
txtcash.text = 0
else
txtcash.text = mrc.fields(0)
end if
本期應收金額(消費金額+餘額)=本期充值金額-本期退卡金額
結賬,就是計算日結賬單和周結賬單中的內容,然後儲存到對應的checkday_info
表和checkweek_info表中,日結賬單和周結賬單中的內容是一樣的
日結賬單中需要計算的資訊和表中對應關係如下
上期餘額---remaincash
本期充值金額---rechargecash
本期消費金額---consumecash
本期退款金額---cancelcash
本期金額---allcash
日期---date
上期餘額計算查詢**
'計算上期餘額
txtsql = "select sum(cash) from student_info where userid='" & trim(cbuser.text) & "'and ischeck = '" & "未結賬" & "'"
set mrc = executesql(txtsql, msgtext)
本期消費金額計算查詢**
'從line表計算當日消費金額
txtsql = "select sum(consume) from line_info "
set mrcl = executesql(txtsql, msgtext)
unload m 第一次機房收費系統 結賬
第一次機房收費系統,相比之前的學生收費系統來說更加完善,更加具體,也更貼合實際,在做機房的過程中的具有代表性的就是上下機,組合查詢,以及結賬。結賬,就是收入總和,即操作員的具體操作。經過分析,我們可知道,這就是管理員看操作員一天的工作明細,即售卡,充值,退卡的情況。1 購卡 就是在student i...
第一次機房之上機
上機的基本思路就是,先查詢卡號是否存在,是否已經上機,如果符合要求就新增上機記錄和上機狀態,這個還是比較簡單的,不是特別的複雜 dim mrc1 as adodb.recordset 用來儲存online info 的sql語句 dim txtsql1 as string 用來接收返回的結果 if ...
第一次機房收費系統 幽夢
經過了分析需求 基本配置。終於開始敲機房了。第一步就是敲模組,我只能按照學生資訊管理系統的模組照葫蘆畫瓢。稍微改改,雖然當時整學生時把模組的 一句一句的查了一遍,但到現在還是不懂。不管怎樣,接著進行吧。於是,正式開始了!0.0 登入 在敲登入窗體時,還是要參考學生資訊管理系統。這第一句 就讓我一頭霧...