本文主要是介绍机房收费系统之结帐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现在回想起来机房收费系统的结账部分也是很简单的,但是自己当时敲得时候似乎用了好久。我的理解是结账是管理员给操作员结的帐,对于管理员就不用给结了,这是自己的想法,当然每个人都可以有自己的想法。现在说一下大致思路。 (1)实现两个combox的同步功能,实现选择了操作员用户名之后,显示操作员的真实姓名。
Private Sub Form_Load()
txtsql = "select * from User_Info where Level <>'一般用户'" '选择用户级别 Set mrc = ExecuteSQL(txtsql, msgtext) Do While mrc.EOF = False Combo1.AddItem Trim(mrc.Fields(0)) '通过循环进行添加 mrc.MoveNext Loop mrc.Close
End Sub
combo1的单击事件:
txtsql1 = "select * from User_Info where userID='" & Trim(Combo1.Text) & "'" '选择用户级别
Set mrc1 = ExecuteSQL(txtsql1, msgtext1)
Combo2.Text = Trim(mrc1.Fields(3))
(2)购卡调用的是数据库student_Info,充值调用的是recharge_Info, 退卡调用的是cancel_Info, 临时用户调用的也是student_Info,需要注意的是这几个都需要满足status的状态是“未结账”,这些要select case语句实现各个选项卡的信息的变幻。
(3) 汇总中的一些信息可以通过我们选项卡中的购卡,退卡的信息来确定。售卡张数是我们购卡中的行数,退卡张数是我们退卡中的行数,可以通过recordcount来实现。总售卡数=售卡数-退卡数。临时收费金额是临时用户充的钱。应收金额=注册充值金额-退卡金额。
代码中income代表的是总共金额,outcome是退卡支出,tempmoney是临时用户充值金额。
Private Sub SSTab1_Click(PreviousTab As Integer)Dim txtSQL As StringDim MsgText As StringDim mrc As ADODB.RecordsetSelect Case SSTab1.TabCase 0txtSQL = "select * from student_Info where UserID = '" & Trim(comboUserId.Text) & "' and Ischeck = '未结账'"Set mrc = ExecuteSQL(txtSQL, MsgText)SellCard = mrc.RecordCount '售卡数With myFlexgrid1.Rows = 1.CellAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "购卡日期".TextMatrix(0, 3) = "购卡时间"Do While Not mrc.EOF.Rows = .Rows + 1.CellAlignment = 4.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(1)).TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(0)).TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(12)).TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(13))mrc.MoveNextLoopmrc.CloseEnd WithCase 1txtSQL = "select * from Recharge_Info where status = '未结账' and UserID = '" & Trim(comboUserId.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)With myFlexgrid2.Rows = 1.CellAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "充值金额".TextMatrix(0, 3) = "充值日期".TextMatrix(0, 4) = "充值时间"Do While Not mrc.EOF.Rows = .Rows + 1.CellAlignment = 4.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(1)).TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(2)).TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(3))Income = Income + Val(mrc.Fields(3)).TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(4)).TextMatrix(.Rows - 1, 4) = Trim(mrc.Fields(5))mrc.MoveNextLoopmrc.CloseEnd WithCase 2txtSQL = "select * from CancelCard_Info where status = '未结账' and UserID = '" & Trim(comboUserId.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)CancelCard = mrc.RecordCount '退卡数With myFlexgrid3.Rows = 1.CellAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "退卡日期".TextMatrix(0, 3) = "退卡时间".TextMatrix(0, 4) = "退卡金额"Do While Not mrc.EOF.Rows = .Rows + 1.CellAlignment = 4.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(0)).TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(1)).TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(3)).TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(4)).TextMatrix(.Rows - 1, 4) = Trim(mrc.Fields(2))OutCome = OutCome + Val(mrc.Fields(2))mrc.MoveNextLoopmrc.CloseEnd WithCase 3txtSQL = "select * from student_Info where type = '临时用户' and UserID = '" & Trim(comboUserId.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)With myFlexgrid4.Rows = 1.CellAlignment = 4.TextMatrix(0, 0) = "学号".TextMatrix(0, 1) = "卡号".TextMatrix(0, 2) = "日期".TextMatrix(0, 3) = "时间"Do While Not mrc.EOF.Rows = .Rows + 1.CellAlignment = 4.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(1)).TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(0)).TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(12)).TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(13))tempmoney = tempmoney + Val(mrc.Fields(7))mrc.MoveNextLoopmrc.CloseEnd WithCase 4txtSellnumber.Text = SellCardtxtReturnnumber.Text = CancelCardtxtRecharge.Text = IncometxtReturnMoney.Text = OutCometxtTotalnumber.Text = Val(txtSellnumber.Text) - Val(txtReturnnumber.Text)txtShouldmoney = Val(txtRecharge.Text) - Val(txtReturnMoney.Text)txtTempmoney.Text = tempmoneyCase 5Unload MeEnd Select
End Sub
结账感觉是整个系统最难理解的部分, 现在理解了,但是不知道为什么冥冥之中感觉没有这么简单一样,如果我理解的有什么问题还望大家指正。
这篇关于机房收费系统之结帐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!