第一次机房收费系统之结账

简介: 第一次机房收费系统之结账

机房收费系统终于快弄完了,在结账的时候会有选择用户名,而选择了用户名操作员的真实姓名就会随着出现。

那么就需要的form_load中添加用户名,在用户名点击事件中加载真实姓名。

Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String
    Dim user As ADODB.Recordset
    Dim user1 As ADODB.Recordset
    txtSQL = "select * from User_info where Level='管理员'" '设置用户名下拉框
    Set user = ExecuteSQL(txtSQL, MsgText)
    Do While Not user.EOF
        Combo1.AddItem user.Fields(0)
        user.MoveNext
    Loop
End Sub

在选择用户名之后,随之文本框中会出现zhen

Private Sub Combo1_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim user1 As ADODB.Recordset
    txtSQL = "select * from User_info where userID='" & Trim(Combo1.Text) & "'"
    Set user1 = ExecuteSQL(txtSQL, MsgText)
    Text1.Text = Trim(user1.Fields(3))
End Sub

购卡

If SSTab1.Tab = 0 Then ‘购卡
        If Combo1.Text = "" Then
            MsgBox "请选择操作员姓名", vbOKOnly + vbExclamation, "提示"
            Exit Sub
        End If
        MSFlexGrid1.Clear
        txtSQL = "select * from student_info where userID='" & Combo1.Text & "'"
        Set GK = ExecuteSQL(txtSQL, MsgText)
        With MSFlexGrid1
        .Rows = 1
        .CellAlignment = 4
        .TextMatrix(0, 0) = "学号"
        .TextMatrix(0, 1) = "卡号"
        .TextMatrix(0, 2) = "日期"
        .TextMatrix(0, 3) = "时间"
        Do While Not GK.EOF
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = Trim(GK.Fields(1))
            .TextMatrix(.Rows - 1, 1) = Trim(GK.Fields(0))
            .TextMatrix(.Rows - 1, 2) = Trim(GK.Fields(12))
            .TextMatrix(.Rows - 1, 3) = Trim(GK.Fields(13))
            GK.MoveNext
        Loop
        GK.Close
        End With
    End If


充值、退卡、临时用户和购卡基本相似,在这里可以参考以上代码

在汇总的时候,需要展示加载出来的有售卡张数以及退卡张数、退卡金额,这三项是指今天的售卡、退卡,而不是累加的,这一点要区分清楚。


售卡数:

txtSQL = "select * from student_info where userID='" & Combo1.Text & "'and Ischeck='未结账 'and date='" & Date & "'"  '售卡数
        Set HZ = ExecuteSQL(txtSQL, MsgText)
        Sellcard.Text = HZ.RecordCount
        HZ.Close


退卡数

txtSQL = "select * from CancelCard_info where userID='" & Combo1.Text & "'and date='" & Date & "'" '退卡数
        Set TK = ExecuteSQL(txtSQL, MsgText)
        Cancelcard.Text = TK.RecordCount
        TK.Close


充值

txtSQL = "select * from ReCharge_info where userID='" & Combo1.Text & "'" '充值
        Set CZ = ExecuteSQL(txtSQL, MsgText)
        t = 0 '定义总金额
        For i = 1 To CZ.RecordCount
            t = t + Val(CZ.Fields(3))
            charge.Text = Val(t)
            CZ.MoveNext
        Next i


临时收费

txtSQL = "select * from student_info where userID='" & Combo1.Text & "'and type='临时用户' and Ischeck='未结账' and status='使用'" '临时收费
         Set HZ = ExecuteSQL(txtSQL, MsgText)
         j = 0
         If Not HZ.EOF Then
            For i = 1 To HZ.RecordCount
                j = j + Val(HZ.Fields(7))
                lscharge.Text = Val(j)
                HZ.MoveNext
            Next i
         End If


退卡总金额

txtSQL = "select * from CancelCard_info where userID='" & Combo1.Text & "'" '退卡总金额
         Set TK = ExecuteSQL(txtSQL, MsgText)
         j = 0
         If Not HZ.EOF Then
            For i = 1 To TK.RecordCount
                j = j + Val(TK.Fields(2))
                CancelcardMoney.Text = Val(j)
                HZ.MoveNext
            Next i
         End If


退卡总数

txtSQL = "select * from student_info where userID='" & Combo1.Text & "'" '退卡总数
        Set HZ = ExecuteSQL(txtSQL, MsgText)
        sumreturncard.Text = HZ.RecordCount
        HZ.MoveNext
        '应收金额=充值金额+临时收费金额-退卡金额
        money.Text = Val(charge.Text) + Val(lscharge.Text) - Val(CancelcardMoney.Text)

相关文章
|
网络协议 Python
Python网络编程基础(Socket编程)创建UDP socket对象
【4月更文挑战第8天】在Python中创建UDP服务器涉及使用`socket`模块创建socket对象,如`udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)`,然后绑定到特定IP地址和端口,如`udp_socket.bind(('localhost', 12345))`。服务器通过`recvfrom`在无限循环中监听和接收数据报。这只是基础,实际应用还需处理接收、解析、响应及错误处理等。接下来可学习如何利用socket对象进行数据交互以构建完整服务器。
|
11月前
|
C# 数据安全/隐私保护
C#使用 MailKit 收发邮件
【10月更文挑战第15天】在C#中使用MailKit库可轻松实现邮件的发送与接收。首先需通过NuGet包管理器安装MailKit,并编写代码设置发件人、收件人、邮件主题及正文,连接邮件服务器并认证后即可发送邮件。接收邮件时,同样需连接服务器并认证,然后打开收件箱遍历读取邮件信息。整个过程需根据实际邮件服务器配置相应参数。
550 4
|
资源调度 JavaScript 前端开发
安装 Nuxt.js 的步骤和注意事项
【8月更文挑战第6天】
373 3
|
JSON 编译器 C语言
VScode配置C语言环境 亲测 可用!!!
VScode配置C语言环境 亲测 可用!!!
|
安全 搜索推荐 前端开发
【https】如何让http升级成https
文章详细讲解了如何让HTTP到HTTPS的操作过程
1153 0
【https】如何让http升级成https
|
云安全 安全 JavaScript
影子IT和过时软件如何威胁企业基础设施
影子IT和过时软件如何威胁企业基础设施
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之报脏数据该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
118 0
|
Android开发 开发者
Android异步之旅:探索IntentService
Android异步之旅:探索IntentService
114 0
|
消息中间件 运维 负载均衡
耗时一晚上,我梳理出了 2023 年微服务技术架构必会知识点!
耗时一晚上,我梳理出了 2023 年微服务技术架构必会知识点!
885 0
|
开发工具 git
fatal: unable to access ‘https://github xxxxxxxxx的解决方法
fatal: unable to access ‘https://github xxxxxxxxx的解决方法
1289 0