【机房】退卡

举报
Laura_张 发表于 2022/08/26 23:08:40 2022/08/26
1k+ 0 0
【摘要】 机房收费系统中的操作员可以设置退卡 窗体展示 退卡的时候首先要对输入的卡号进行判断,先判断是否输入卡号,然后连接学生判断卡号是否存在,是否已经注销。还需要连接online表判断卡号是否正在上机,正在...

机房收费系统中的操作员可以设置退卡

窗体展示
在这里插入图片描述

退卡的时候首先要对输入的卡号进行判断,先判断是否输入卡号,然后连接学生判断卡号是否存在,是否已经注销。还需要连接online表判断卡号是否正在上机,正在上机的账户是不可以退卡的。

退卡完成之后将数据更新到退卡表。

代码展示:

Private Sub cmdok_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    Dim mrc1 As ADODB.Recordset
    Dim mrc2 As ADODB.Recordset
    Dim mrc3 As ADODB.Recordset
    
   '判断卡号是否为空
   
    If Trim(txtCardNo.Text = "") Then
        MsgBox "请输入卡号!", 48, "提示"
        txtCardNo.SetFocus
    Else
    
        '卡号为数字
        
        If Not IsNumeric(txtCardNo.Text) Then
            MsgBox "请输入数字!", 48, "提示"
            txtCardNo.SetFocus
        Else
            '判断卡号是否存在
            
            txtSQL = "select * from student_info where cardno = '" & txtCardNo.Text & "'"
            Set mrc = ExecuteSQL(txtSQL, MsgText)
            
            If mrc.EOF Then
                MsgBox "卡号不存在或已经注销,请重新输入卡号!", 48, "提示"
                txtCardNo.SetFocus
                txtCardNo.Text = ""
            '已经退卡
            
            ElseIf Trim(mrc.Fields(10)) = Trim("不使用") Then
            
                    MsgBox "此卡已退!", 48, "提示"
                    txtCardNo.SetFocus
                    txtCardNo.Text = ""
                Else
            
                '判断是否正在上机
                
                txtSQL = "select * from online_info where cardno = '" & txtCardNo.Text & "'"
                Set mrc1 = ExecuteSQL(txtSQL, MsgText)
                    If Not mrc1.EOF Then
                        MsgBox "此卡正在上机,请先下机再退卡!", 48, "提示"
                        txtCardNo.SetFocus
                        txtCardNo.Text = ""
                    Else
            
            '显示信息-----在一个文本框如何显示多行数据?vbcrlf字符串常数
                Text1.Text = "" & vbCrLf & vbCrLf & _
                                  "充值卡号:" & txtCardNo.Text & vbCrLf & vbCrLf & _
                                  "退款金额:" & mrc.Fields(7) & vbCrLf & vbCrLf & _
                                  "退卡日期:" & Date & vbCrLf & vbCrLf & _
                                  "退卡时间:" & Time & vbCrLf & vbCrLf & _
                                  "办理老师:" & mrc.Fields(9)
                                  
                '更新到student表
                
                    txtSQL = "update student_info set status = '" & "不使用" & "'" & "where cardno = '" & txtCardNo.Text & "'"
                    Set mrc2 = ExecuteSQL(txtSQL, MsgText)
                    
                '将数据添加到cancel card表种
                
                    txtSQL = "select * from cancelcard_info"
                    Set mrc3 = ExecuteSQL(txtSQL, MsgText)
                        mrc3.AddNew
                            
                            mrc3.Fields(1) = txtCardNo.Text
                            mrc3.Fields(2) = mrc.Fields(7)
                            mrc3.Fields(3) = Date
                            mrc3.Fields(4) = Time
                            mrc3.Fields(0) = Trim(mrc.Fields(1))
                            mrc3.Fields(5) = mrc.Fields(9)
                            mrc3.Fields(6) = "未结账"
                        mrc3.Update
                        mrc3.Close
                    
                    MsgBox "退卡成功", vbOKOnly, "恭喜"
                    
                    txtCardNo.Text = ""
                    Text1.Text = ""
                End If
            End If
        End If
    End If
End Sub
  
 

有问题及时沟通~

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/107528220

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。