【机房收费系统】之结账

还没开始做机房时,便听到有人说,机房慢慢做,尤其结账那一块特别难。特别难,到底有多难呢?还没开始做,心里便有了一丝害怕。验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

嘻嘻!写代码和学数学一样,需要耐着性子,思路清晰,敢于实践。

最后,送给大家一句诗:纸上得来终觉浅,绝知此事要躬行。

 

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值