第一次机房之结账

       结账是做机房遇到的难点之一, 难在是第一次接触结账计算功能,所以很多情况考虑不够全面,做之前一定要梳理关系,把结账的关系梳理清楚,有一个自己的思路,那么,做起来还是很简单的,每一个功能都有它的套路,只要找到了关键的部分,剩下的就是去做了。

       结账分为五步:1、选择操作员。2、查询信息。3、计算汇总信息。4、进行结账计算。5、退出

第一步,选择操作员用户名,在这需要考虑的是,操作员用户名能否选择管理员,在软件的使用过程中,管理员也有操作员的全部功能,所以个人认为,操作员用户名应选择操作员和管理员。通过操作员用户名获取姓名,这个很简单,就不在这里说了

第二步,查询购卡、充值、退卡、临时用户信息,这些查询功能使用sql查询语句就可以做到,以下为查询代码:

如:

 

'购卡
    '连接数据库
    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='未结账'"
    Set mrc = ExecuteSQL(txtsql, msgtext)

 

第三步,汇总

汇总需要计算,该操作员售卡张数、退卡金额、退卡张数、总售卡数、充值金额、应收金额、临时收费金额

售卡张数通过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 Me

有不当之处,请在下方评论指出

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值