机房——操作员——充值

充值,就是给学生的卡号进行充值,避免余额不足而被强制下机。
下图为充值窗体界面
在这里插入图片描述
老样子,还是先画流程图,流程搞清楚了,逻辑清楚了,敲代码自然就有思路了
在这里插入图片描述
部分代码展示

 '判断是否输入卡号
    If Not Testtxt(txtCardNo.Text) Then
        MsgBox "请输入卡号!", 48, "提示"
        txtCardNo.SetFocus
        Exit Sub
    End If

    If Not IsNumeric(Trim(txtCardNo.Text)) Then
        MsgBox "卡号请输入数字!", 48, "提示"
        txtCardNo.Text = ""
        txtCardNo.SetFocus
        Exit Sub
    End If

    '判断是否输入充值金额
    If Not Testtxt(txtCash.Text) Then
        MsgBox "请输入充值金额!", 48, "提示"
        txtCash.SetFocus
        Exit Sub
    End If



    '判断充值金额是否小于基础表最低金额
    txtsql = "select*from BasicData_Info"
    Set mrc = ExecuteSQL(txtsql, msgtext)

    '充值金额与最低金额比较
    If Val(txtCash.Text) < mrc.Fields(5) Then
        MsgBox "充值金额不得小于最低金额,请重新输入!", 48, "提示"
        txtCash.Text = ""
        txtCash.SetFocus
        Exit Sub
    End If

    '连接student表判断卡号是否存在
    txtsql1 = "select*from student_Info where cardno='" & Trim(txtCardNo.Text) & "'"
    Set mrc1 = ExecuteSQL(txtsql1, msgtext)

    If mrc1.EOF = True Then
        MsgBox "该卡号不存在或者被停用,请重新输入!", 48, "提示"
        txtCardNo.Text = ""
        txtCardNo.SetFocus
        Exit Sub
    Else
        oldcash = mrc1.Fields(7)
        '更新recharge表
        txtsql2 = "select*from Recharge_Info"
        Set mrc2 = ExecuteSQL(txtsql2, msgtext)

        mrc2.AddNew
        mrc2.Fields(1) = mrc1.Fields(1)
        mrc2.Fields(2) = mrc1.Fields(0)
        mrc2.Fields(3) = Trim(txtCash.Text)
        mrc2.Fields(4) = Date
        mrc2.Fields(5) = Time
        mrc2.Fields(6) = mrc1.Fields(9)
        mrc2.Fields(7) = mrc1.Fields(10)
        mrc2.Update

        '将总金额更新到student表
        newcash = oldcash + Val(txtCash.Text)
        mrc1.Fields(7) = newcash
        mrc1.Update

        '在txtrecord中显示充值信息
        txtRecord.Text = "充值卡号:" & txtCardNo.Text & vbCrLf & _
                        "原金额:" & oldcash & vbCrLf & _
                        "充值金额:" & txtCash.Text & vbCrLf & _
                        "现有金额:" & newcash & vbCrLf & _
                        "充值日期:" & Date & vbCrLf & _
                        "充值时间:" & Time & vbCrLf & _
                        "充值教师:" & frmLogin.txtUserID.Text

                        mrc.Close
                        mrc1.Close
                        mrc2.Close
                        MsgBox "充值成功!", 48, "提示"
                        txtCardNo.Text = ""
                        txtCash.Text = ""
                        txtRecord.Text = ""
        End If

当充值成功后会自动显示充值信息, 包括充值前的余额,充值金额,以及充值后的金额为多少。而充值信息会在一行显示,怎么办呢,别急设置text框的Multiline属性为True即可显示多行文本
在这里插入图片描述
机房已经敲完了,随着优化会不断更新。欢迎大家在评论区留言!

猜你喜欢

转载自blog.csdn.net/qq_42758288/article/details/84897896
今日推荐