第一次机房收费——上机流程

简介: 第一次机房收费——上机流程

一开始无从下手,问了比我进度快的同学,他们重要指出,要想整体的了解整个系统,少不了流程图的帮助,当你把整个流程画出来之后,系统的大体就会掌握,然后再细细的把每一步执行下去!


1.上机流程图



2.上机部分流程代码


Private Sub cmdOnline_Click()
    Dim mrc As ADODB.Recordset '连接学生表
    Dim mrc1 As ADODB.Recordset '连接上线表
    Dim mrc2 As ADODB.Recordset '连接基础表
    Dim mrc3 As ADODB.Recordset '连接line表
    Dim txtSQL As String
    Dim MsgText As String
    If txtCardNo.Text = "" Then '判断是否输入卡号
        MsgBox "请输入卡号", vbOKOnly + vbExclamation, "提示"
        txtCardNo.SetFocus
        Exit Sub
    End If
    If Not IsNumeric(Trim(txtCardNo.Text)) Then '判断卡号是否为数字形式
        MsgBox "请输入正确的卡号!", vbOKOnly + vbExclamation, "提示"
        txtCardNo.Text = ""
        txtCardNo.SetFocus
        Exit Sub
    End If
    txtSQL = "select * from student_info where cardno='" & txtCardNo.Text & "' and status='使用'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    If mrc.EOF = True Then
        MsgBox "无此卡号,请核对后再重新输入", vbOKOnly + vbExclamation, "提示" '判断卡号是否已注册
        txtCardNo.Text = ""
        txtCardNo.SetFocus
    Else
        txtSQL = "select * from Online_info where cardno='" & txtCardNo.Text & "'"
        Set mrc1 = ExecuteSQL(txtSQL, MsgText)
    If mrc.EOF = False Then '判断卡号是否登录
        MsgBox "此卡号已登录,请勿重复登录!", vbOKOnly + vbExclamation, "提示"
        txtOnDate.Text = mrc1.Fields(6)
        txtOnTime.Text = mrc1.Fields(7)
    Else
        txtSQL = "select * from  BasicData_info"
        Set mrc2 = ExecuteSQL(txtSQL, MsgText)
        If Val(mrc.Fields(7)) < Val(mrc2.Fields(5)) Then  '判断余额是否充足
            MsgBox "余额不足,无法登录,请充值", vbOKOnly + vbExclamation, "提示"
            frmRecharge.Show                              '充值窗口显示
        Else
            '显示主窗体的信息
            txtCardNo.Text = Trim(mrc.Fields(0)) 'trim()函数是用来去掉字符串前面和后面的空格
            txtSID.Text = Trim(mrc.Fields(1))
            txtDept.Text = Trim(mrc.Fields(4))
            txtType.Text = Trim(mrc.Fields(14))
            txtName.Text = Trim(mrc.Fields(2))
            txtSex.Text = Trim(mrc.Fields(3))
            txtOnDate.Text = Date
            txtOnTime.Text = Time
            txtBalance.Text = Trim(mrc.Fields(7))
            mrc.Update
            mrc.Close
            '数据更新到Online表中
            txtSQL = "select * from Online_info"
            Set mrc = ExecuteSQL(txtSQL, MsgText)
            mrc.AddNew '添加新纪录
            mrc.Fields(0) = Trim(txtCardNo.Text)
            mrc.Fields(1) = Trim(txtType.Text)
            mrc.Fields(2) = Trim(txtSID.Text)
            mrc.Fields(3) = Trim(txtName.Text)
            mrc.Fields(4) = Trim(txtDept.Text)
            mrc.Fields(5) = Trim(txtSex.Text)
            mrc.Fields(6) = Trim(txtOnDate.Text)
            mrc.Fields(7) = Trim(txtOnTime.Text)
            mrc.Fields(8) = VBA.Environ("computername")
            mrc.Fields(9) = Now
            '查询上机人数并更新
            Label16.Caption = "当前上机人数为:" & mrc.RecordCount & "人"
            mrc.Update
            mrc.Close
            txtSQL = "select * from Line_info"
            Set mrc3 = ExecuteSQL(txtSQL, MsgText)
            mrc3.Fields(1) = Trim(txtCardNo.Text)
            mrc3.Fields(2) = Trim(txtSID.Text)
            mrc3.Fields(3) = Trim(txtName.Text)
            mrc3.Fields(4) = Trim(txtDept.Text)
            mrc3.Fields(5) = Trim(txtSex.Text)
            mrc3.Fields(6) = Trim(txtOnDate.Text)
            mrc3.Fields(7) = Trim(txtOnTime.Text)
            mrc3.Fields(12) = Trim(txtBalance.Text)
            mrc3.Fields(13) = "正常上机"
            mrc3.Fields(14) = VBA.Environ("computername")
            mrc3.Update
            mrc3.Close
            MsgBox "上机完成!", vbOKOnly + vbExclamation, "提示"
        End If
    End If
End If
End Sub
目录
相关文章
|
8月前
|
SQL 安全 测试技术
【软件设计师备考 专题 】测试要求说明书的编写和应用
【软件设计师备考 专题 】测试要求说明书的编写和应用
130 0
|
C++
西安石油大学C++上机实验 上机五:模板和异常处理程序设计(2 学时)
西安石油大学C++上机实验 上机五:模板和异常处理程序设计(2 学时)
48 0
|
8月前
|
C++
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
|
8月前
|
Serverless C++ 容器
【期末不挂科-C++考前速过系列P5】大二C++实验作业-多态性(3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P5】大二C++实验作业-多态性(3道代码题)【解析,注释】
|
8月前
|
存储 数据安全/隐私保护 C++
【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】
|
8月前
蓝桥杯省赛冲刺(1 补充)考试流程 做题技巧 手算题 杂题
蓝桥杯省赛冲刺(1 补充)考试流程 做题技巧 手算题 杂题
43 0
|
8月前
|
存储 监控 测试技术
【软件设计师备考 专题 】系统集成测试的准备和执行
【软件设计师备考 专题 】系统集成测试的准备和执行
216 0
机房收费系统-学生查看上机记录
机房收费系统-学生查看上机记录
|
图计算
软考高项笔记(一):进度类计算
本篇博文开始,笔者将分享在学习高项中所收获的知识,第一篇博文我要归纳的笔记是在软考上午选择题和下午案例题都很重要的计算题类型中的进度类计算笔记。本篇博文主要用于学习和交流。归纳总结不仅是学习的重要方法,也是一种分享的途径,我在此希望与各位准项目经理共同努力,为早日实现人生理想而奋斗!
789 6
软考高项笔记(一):进度类计算
|
设计模式 Java 数据库
移动应用程序设计基础——期末考核——登录界面与简单日记本的综合实践
上机单独完成一个简单日记本程序的编写。界面包括:用户登录,用户注册,日记本主页,新增编辑日记。 注意:以下***为您姓名的拼音单词第一个字母(如俞成海——ych)。 1、 用户登录 布局:activity_login.xml, 布局如下图,资源图片username.png和password.png,布局要求左边内嵌图片,提示如图。(10分) ...
267 0
移动应用程序设计基础——期末考核——登录界面与简单日记本的综合实践