【機房收費系統】之結賬
阿新 • • 發佈:2018-12-20
還沒開始做機房時,便聽到有人說,機房慢慢做,尤其結賬那一塊特別難。特別難,到底有多難呢?還沒開始做,心裡便有了一絲害怕。驗SQL視訊時,特意問了問師父,結賬是否真如他們所說,有那麼難。嘉穎師父誠懇地跟我說,沒事,只有你去做了,才知道做出來的成就感。有了嘉穎師父的定心丸,我心裡好像踏實了許多。
這是結賬的介面。在做結賬前,我們要先理清思路。結賬只是針對操作員而言,操作員在這一系統過程所做的一系列工作:購卡、充值、退卡、臨時使用者和彙總。前四個都還OK啦!只需要讀取相關資訊。難點在彙總,需要進行一些計算。此時,你要保持足夠的頭腦,明白以下內容:
售卡張數=購卡選項卡的記錄總數
退卡張數=退卡選項卡的記錄總數
退卡金額=cancelcard_Info表中的金額進行累加
總售卡數=售卡數-退卡數
註冊和充值金額=student_Info 表中註冊時候的充值金額+Recharge_Info 表中的充值金額(註冊時的充值的錢和充值時充進去的錢其實都一樣)
應收金額=註冊和充值金額-退卡金額
結賬:將student_Info 、Recharge_Info、Cancelcard_Info 中的“未結賬”改為“結賬”。
好啦,思路清晰了,接下來就是程式碼的實現部分了。以下是我結賬窗體的重要程式碼:
'通過使用者名稱顯示真實姓名 txtsql = "select * from user_info where UserID='" & comboOpUserID.Text & "'" Set mrc = ExecuteSQL(txtsql, msgtext) comboOpRealName.Text = mrc!UserName mrc.Close
購卡選項卡的重要程式碼:
If SSTab1.Tab = 0 Then '將查詢的內容顯示在表格控制元件中 With myFgBuyCard(0) .Rows = 1 .CellAlignment = 4 .TextMatrix(0, 0) = "???" .TextMatrix(0, 1) = "????" .TextMatrix(0, 2) = "????" .TextMatrix(0, 3) = "???" '判斷是否移動到資料集物件的最後一條 Do While Not mrc1.EOF .Rows = .Rows + 1 .CellAlignment = 4 .TextMatrix(.Rows - 1, 0) = Trim(mrc1.Fields(1)) .TextMatrix(.Rows - 1, 1) = Trim(mrc1.Fields(0)) .TextMatrix(.Rows - 1, 2) = Trim(mrc1.Fields(13)) .TextMatrix(.Rows - 1, 3) = Trim(mrc1.Fields(14)) '移動到下一條記錄 mrc1.MoveNext Loop End With End If
算錢那一部分我主要用到了多條迴圈語句:
do while not mrc.eof
語句塊
loop