退卡问题

简介:      虽然在写代价时犯过很多逻辑错误,出现了很多漏洞,但是改了几次,都基本找出来了,但是对于退卡问题,我是真心伤了。。。。。。。。       一,退过卡的人,不能再次上机。       二, 每人只能退卡一次。

     虽然在写代价时犯过很多逻辑错误,出现了很多漏洞,但是改了几次,都基本找出来了,但是对于退卡问题,我是真心伤了。。。。。。。。

      一,退过卡的人,不能再次上机。

      二, 每人只能退卡一次。

      三,退卡人员的记录不能删除,要保留,但是在注册新用户时,不能用退卡人员的主键。

      四,退卡的金额:什么都不写,默认全部退还。

      五,退过卡的人不能再次充值。

      

If Trim(txtCardNum.Text) = "" Then   '卡号为空的情况
        MsgBox "卡号不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtReturnRmb.Text = ""
        Exit Sub
    End If


    '先判断该学生是否存在
    SQL = "select * from stubaseinfo where 卡号='" & Trim(txtCardNum.Text) & "' and 状态='使用'"
    Set Rst = ExecuteSQL(SQL, strMsg)
      
    If Rst.BOF And Rst.EOF Then    '如果数据表中没有记录,则显示查无此卡的警告!
        MsgBox "此卡不存在!", vbOKOnly + vbExclamation, "警告"
        txtCardNum.Text = ""
        txtReturnRmb.Text = ""
        txtCardNum.SetFocus
        Exit Sub
    End If
    
    If Rst.EOF Then        '如果数据表中有记录,但是查找不到该卡号
         MsgBox "此卡不存在!请重新检查后输入!", vbOKOnly + vbInformation, "提示"
         txtCardNum.Text = ""
         txtCardNum.SetFocus
         Exit Sub
    Else
        '如果查找到该卡
        
        '退卡钱先判断用户是否在上机
        SQL = "select * from stuonline where 卡号='" & Trim(txtCardNum.Text) & "'"
        Set mrc = ExecuteSQL(SQL, strMsg)
        
    
        If Not (mrc.EOF And mrc.BOF) Then
            MsgBox "该用户正在上机,请稍后退卡!", vbOKOnly + vbInformation, "提示"
            txtCardNum.Text = ""
            txtReturnRmb.Text = ""
            Exit Sub
        End If
            
        '如果没有上机
    
        lastRMB = Rst.Fields(9) '退卡钱金额的赋值
        
        '如果没有填写退卡的金额,则默认为全部退还
        If Trim(txtReturnRmb.Text) = "" Then
            txtReturnRmb.Text = lastRMB
        End If
        
        nowRMB = lastRMB - Val(Trim(txtReturnRmb.Text)) '计算退卡后卡里的钱
        
        SQL = "update stubaseinfo set 金额='" & nowRMB & "',状态='不使用'" & " " & "where 卡号='" & Trim(txtCardNum.Text) & "'" '注意where前面一定要有个空格
        Call ExecuteSQL(SQL, strMsg)   '执行更新操作
        
        listMsg.AddItem "退卡卡号:" & Trim(txtCardNum.Text)
        listMsg.AddItem "应退款金额:" & Trim(txtReturnRmb.Text)
        listMsg.AddItem "退卡日期:" & Format(GetSqlTime, "yyyy-mm-dd")
        listMsg.AddItem "退卡时间:" & Format(GetSqlTime, "hh:mm:ss")
        listMsg.AddItem "办理退卡教师:" & strUserName
        
        
         '写入退卡表里面
         SQL = "insert into teareturncard values('" & Trim(txtCardNum.Text) & "','" & Trim(txtReturnRmb.Text) & "','" & strUserName & "','" & Format(GetSqlTime, "yyyy-mm-dd") & "','" & Format(GetSqlTime, "hh:mm:ss") & "','未结账')"
        
         Call ExecuteSQL(SQL, strMsg)
         
         
         '提示退卡成功,并清空文本框
         If (MsgBox("退卡成功!退卡金额" & Trim(txtReturnRmb.Text), vbOKOnly + vbInformation, "提示")) Then
            txtCardNum.Text = ""
            txtReturnRmb.Text = ""
            listMsg.Clear
            Exit Sub
         End If
         
        
         
    End If
    


     


目录
相关文章
|
7月前
|
Java
树莓派安装java jdk8
树莓派安装java jdk8
137 5
|
7月前
|
人工智能 运维 监控
智能运维系统在云计算时代的应用与发展
随着云计算技术的快速发展,传统的运维方式已经无法满足复杂多变的IT环境需求。智能运维系统作为一种新型的解决方案,正在逐渐成为企业提高运维效率、降低故障风险的重要工具。本文将探讨智能运维系统在云计算时代的应用与发展,以及未来的发展趋势。
140 0
|
7月前
|
Java Windows
java: 错误: 无效的源发行版:17 【解决】
java: 错误: 无效的源发行版:17 【解决】
222 0
|
8月前
|
存储 C语言 索引
从C语言的基本数据类型到抽象数据类型的探索
从C语言的基本数据类型到抽象数据类型的探索
91 0
|
8月前
|
算法 Android开发
【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
201 0
|
自然语言处理 Java 索引
Java中的Unicode字符编码与占用比特位解析
Java中的Unicode字符编码与占用比特位解析
|
开发框架 JavaScript 前端开发
盘点3个.Net开发的WMS仓库管理系统
盘点3个.Net开发的WMS仓库管理系统
260 0
|
JavaScript
vue中对数据按照首字母顺序进行排序
vue中对数据按照首字母顺序进行排序
204 0
|
安全 Python
Python中的内置函数之一:eval函数的深入理解
在Python中,`eval`函数是一个内置函数,用于将字符串解析并执行为Python表达式。本文将详细介绍`eval`函数的使用方法和注意事项,以及一些实用的例子。
|
安全 算法 项目管理
基于隐语的“多方安全计算平台”,获得首批金融科技产品国推认证!
基于隐语的“多方安全计算平台”,获得首批金融科技产品国推认证!
328 0