机房收费系统——结账

简介: 机房收费系统——结账

一、前言

进入机房到结账这儿增加了一个新控件SSTab,工程——部件——Microsoft Tabbed Dialog Control 6.0


后面具体的SStab控件的设计我就不说了。

二、设计界面

这儿我将ComboBox控件改成了text和label控件并增加一个命令按钮相互配合,删除了退出

三、具体思路

购卡:联系student_info中此操作员购买的卡
充值:联系recharge_info表中此操作员充值 且未结账的卡
退卡:联系cancelcard_info表中此操作员退的卡 且 未结账的卡
临时用户:student_info表中此操作员 type为临时用户 未结账 未退卡的卡
汇总:



售卡张数:购卡选项卡记录数
退卡张数:退卡选项卡记录数
充值金额:recharge_info 表中金额总数
临时收费金额:student_info表中临时用户的金额总数
退卡金额:cancelcard_info 表中金额总数
总售卡数:售卡张数-退卡张数
应收金额:充值金额-退卡金额

四、结账代码

Dim txtSQL, Msgtext As String
    Dim mrc_stu As ADODB.Recordset '购卡 售卡数
    Dim mrc_re As ADODB.Recordset  '充值
    Dim mrc_cc As ADODB.Recordset  '退卡
    Dim mrc_stut As ADODB.Recordset '临时用户
    Dim mrc As ADODB.Recordset '退卡金额
    Dim mrc1 As ADODB.Recordset '退卡张数
    Dim mrc2 As ADODB.Recordset '充值金额
    Dim mrc3 As ADODB.Recordset '临时金额
    '购卡
    With myflexgrid1
    txtSQL = "select * from student_info where userid='" & Trim(txtUserID.Text) & "'"
    Set mrc_stu = ExecuteSQL(txtSQL, Msgtext)
    .Rows = 1
    .CellAlignment = 4
    .TextMatrix(0, 0) = "学号"
    .TextMatrix(0, 1) = "卡号"
    .TextMatrix(0, 2) = "日期"
    .TextMatrix(0, 3) = "时间"
    .TextMatrix(0, 4) = "金额"
    Do While Not mrc_stu.EOF
        .Rows = .Rows + 1
        .CellAlignment = 4
        .TextMatrix(.Rows - 1, 0) = Trim(mrc_stu.Fields(1))
        .TextMatrix(.Rows - 1, 1) = Trim(mrc_stu.Fields(0))
        .TextMatrix(.Rows - 1, 2) = Trim(mrc_stu!Date)
        .TextMatrix(.Rows - 1, 3) = Trim(mrc_stu!Time)
        .TextMatrix(.Rows - 1, 4) = Trim(mrc_stu!cash)
        mrc_stu.MoveNext
        Loop
    End With
    '充值
    With myflexgrid2
    .Rows = 1
    .CellAlignment = 4
    .TextMatrix(0, 0) = "学号"
    .TextMatrix(0, 1) = "卡号"
    .TextMatrix(0, 2) = "充值金额"
    .TextMatrix(0, 3) = "日期"
    .TextMatrix(0, 4) = "时间"
    txtSQL = "select * from recharge_info where userid='" & Trim(txtUserID.Text) & "' and status='未结账'"
    Set mrc_re = ExecuteSQL(txtSQL, Msgtext)
    Do While Not mrc_re.EOF
        .Rows = .Rows + 1
        .CellAlignment = 4
        .TextMatrix(.Rows - 1, 0) = Trim(mrc_re!studentno)
        .TextMatrix(.Rows - 1, 1) = Trim(mrc_re!cardno)
        .TextMatrix(.Rows - 1, 2) = Trim(mrc_re!addmoney)
        .TextMatrix(.Rows - 1, 3) = Trim(mrc_re!Date)
        .TextMatrix(.Rows - 1, 4) = Trim(mrc_re!Time)
        mrc_re.MoveNext
        Loop
    End With
    '退卡
    With myflexgrid3
        .Rows = 1
        .CellAlignment = 4
        .TextMatrix(0, 0) = "学号"
        .TextMatrix(0, 1) = "卡号"
        .TextMatrix(0, 2) = "日期"
        .TextMatrix(0, 3) = "时间"
        .TextMatrix(0, 4) = "退卡金额"
        txtSQL = "select * from cancelcard_info where userid='" & Trim(txtUserID.Text) & "' and status='未结账'"
        Set mrc_cc = ExecuteSQL(txtSQL, Msgtext)
        Do While Not mrc_cc.EOF
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = Trim(mrc_cc!studentno)
            .TextMatrix(.Rows - 1, 1) = Trim(mrc_cc!cardno)
            .TextMatrix(.Rows - 1, 2) = Trim(mrc_cc!Date)
            .TextMatrix(.Rows - 1, 3) = Trim(mrc_cc!Time)
            .TextMatrix(.Rows - 1, 4) = Trim(mrc_cc.Fields(2))
            mrc_cc.MoveNext
        Loop
    End With
    '临时用户
    With myflexgrid4
        .Rows = 1
        .CellAlignment = 4
        .TextMatrix(0, 0) = "学号"
        .TextMatrix(0, 1) = "卡号"
        .TextMatrix(0, 2) = "日期"
        .TextMatrix(0, 3) = "时间"
        txtSQL = "select * from student_info where userid='" & Trim(txtUserID.Text) & "' and type='临时用户' and ischeck='未结账'"
        Set mrc_stut = ExecuteSQL(txtSQL, Msgtext)
        Do While Not mrc_stut.EOF
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = Trim(mrc_stut!studentno)
            .TextMatrix(.Rows - 1, 1) = Trim(mrc_stut.Fields(0))
            .TextMatrix(.Rows - 1, 2) = Trim(mrc_stut!Date)
            .TextMatrix(.Rows - 1, 3) = Trim(mrc_stut!Time)
            mrc_stut.MoveNext
        Loop
    End With
    mrc_stut.Close
    mrc_re.Close
    mrc_cc.Close
    '售卡数
    If mrc_stu.RecordCount = 0 Then
        txtOutCard.Text = 0
    Else
        txtOutCard.Text = mrc_stu.RecordCount
    End If
    '退卡金额
    txtSQL = "select sum(cancelcash) from cancelcard_info where userid='" & Trim(txtUserID.Text) & "' and status='未结账'"
    Set mrc = ExecuteSQL(txtSQL, Msgtext)
        If IsNull(Trim(mrc.Fields(0))) Then
            txtOffCardMoney.Text = "0"
        Else
            txtOffCardMoney.Text = Val(mrc.Fields(0))
        End If
    '退卡张数
    txtSQL = "select * from cancelcard_info where userid='" & Trim(txtUserID.Text) & "' and status='未结账'"
    Set mrc1 = ExecuteSQL(txtSQL, Msgtext)
        If mrc1.RecordCount = 0 Then
            txtOffCard.Text = 0
        Else
            txtOffCard.Text = mrc1.RecordCount
        End If
    '总售卡数=售卡数-退卡数
    txtALLOutCard.Text = txtOutCard.Text - txtOffCard.Text
    '充值金额
    txtSQL = "select sum(addmoney) from recharge_info where userid='" & Trim(txtUserID.Text) & "' and status='未结账'"
    Set mrc2 = ExecuteSQL(txtSQL, Msgtext)
        If IsNull(Trim(mrc.Fields(0))) Then
            txtRechargeMoney.Text = "0"
        Else
            txtRechargeMoney.Text = Val(mrc2.Fields(0))
        End If
    '应收金额=充值金额-退卡金额
    txtGetMoney.Text = txtRechargeMoney.Text - txtOffCard.Text
    '临时应收金额
    txtSQL = "select sum(cash) from student_info where userid='" & Trim(txtUserID.Text) & "'and type='临时用户' and ischeck='未结账'"
    Set mrc3 = ExecuteSQL(txtSQL, Msgtext)
    If IsNull(Trim(mrc.Fields(0))) Then
        txtTMPMoney.Text = "0"
    Else
        txtTMPMoney.Text = Val(mrc3.Fields(0))
    End If
目录
相关文章
|
6月前
|
数据库 数据安全/隐私保护
机房收费系统之总结(一)
机房收费系统之总结(一)
45 0
【机房重构】—上机&订餐
当用户(我)发出一个订餐(排骨盖饭)指令,它就会通过我们的网络(通道)到达餐馆(DAL层),餐馆通过判断告诉我是否还有排骨盖饭(在机房收费系统中这就相当于判断卡号是否存在);
【机房重构】—上机&订餐
|
数据库
第一次机房收费系统———学生查看余额
第一次机房收费系统———学生查看余额
机房收费系统——下机封装、点击下机、全员下机、选择下机和动态下机(有关下机的所有代码)
机房收费系统——下机封装、点击下机、全员下机、选择下机和动态下机(有关下机的所有代码)
|
BI C# 数据库
C# 机房重构——周结账单、报表设计
C# 机房重构——周结账单、报表设计
99 1
第一次机房收费系统之结账
第一次机房收费系统之结账
58 0
|
数据库 数据安全/隐私保护
第一次机房收费系统总结
第一次机房收费系统总结
|
数据安全/隐私保护
机房收费系统-限制总结
机房收费系统-限制总结
42 0