第一次机房收费系统——注册

思考:

因为注册的时候,需要输入初始的金额,但是上下机的时候,需要根据上网时间长短来改变学生表中的金额,所以导致最后的结账很麻烦,最后我将注册的内容也写入到充值中,流程图如下:

流程图

这里写图片描述

代码

Private Sub cmdSave_Click()
    '存盘

    '连接基础信息数据库
    txtSQL = "select *from basicdata_info"
    Set mrc_BData = ExecuteSQL(txtSQL, msgText)


    '判断是否有基础数据
    If mrc_BData.EOF Then
        'MsgBox "请在管理员权限中添加基本数据设定!", vbOKOnly + vbExclamation, "警告"
        If Trim(mrc_User.Fields(2)) = "管理员" Then
            frmBasicDataSet.Show
        Else
            MsgBox "请联系管理员添加基本数据信息!", vbOKOnly + vbExclamation, "警告"
            Exit Sub
        End If


    End If

    '判断输入金额是否低于最低金额
    If Trim(txtRecharge.Text) < mrc_BData.Fields(5) Then '不能使用trim函数
        MsgBox "金额不能低于设置的最小金额", vbOKOnly + vbExclamation, "警告"
        txtRecharge.Text = ""
        txtRecharge.SetFocus
        mrc_BData.Close
        Exit Sub
    End If

    '判断卡号是否为空
    If Trim(txtCardNo.Text) = "" Then
        txtCardNo.SetFocus
        txtCardNo.BackColor = vbRed
        Exit Sub
    End If

    '判断学号是否为空
    If Trim(txtSID.Text) = "" Then
        MsgBox "学号不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtSID.SetFocus
        Exit Sub
    End If

    '判断姓名是否为空
    If Trim(txtName.Text) = "" Then
        MsgBox "姓名不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtName.SetFocus
        Exit Sub
    End If

    '判断性别是否为空
    If Trim(ComboSex.Text) = "" Then
        MsgBox "性别不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        ComboSex.SetFocus
        Exit Sub
    End If

    '判断系别是否为空
    If Trim(txtDept.Text) = "" Then
        MsgBox "系别不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtDept.SetFocus
        Exit Sub
    End If

    '判断年级是否为空
    If Trim(txtGrade.Text) = "" Then
        MsgBox "年级不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtGrade.SetFocus
        Exit Sub
    End If

    '判断班级是否为空
    If Trim(txtClass.Text) = "" Then
        MsgBox "班级不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtClass.SetFocus
        Exit Sub
    End If

    '判断类型是否为空
    If Trim(comboType.Text) = "" Then
        MsgBox "类型不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        comboType.SetFocus
        Exit Sub
    End If

    '判断金额是否为空
    If Trim(txtRecharge.Text) = "" Then
        MsgBox "金额不能为空,请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtRecharge.SetFocus
        Exit Sub
    End If

    '连接数据库
    txtSQL = "select *from student_info " 'where cardno='" & txtCardNo.Text & "'"
    Set mrc_Stu = ExecuteSQL(txtSQL, msgText)
    '判断卡号是否重复
    While (mrc_Stu.EOF = False)
        '判断是否有重复记录
        If Trim(mrc_Stu.Fields(0)) = Trim(txtCardNo.Text) Then
            MsgBox "卡号已经存在,请重新输入卡号!", vbOKOnly + vbExclamation, "警告"
            txtCardNo.Text = ""
            txtCardNo.SetFocus
            Exit Sub
        Else
            '移动到下一条记录
            mrc_Stu.MoveNext
        End If
    Wend

    '判断学号是否重复
    While (mrc_Stu.EOF = False)
        '判断是否有重复记录
        If Trim(mrc_Stu.Fields(1)) = Trim(txtSID.Text) Then
            MsgBox "学号已经存在,请重新输入学号!", vbOKOnly + vbExclamation, "警告"
            txtSID.Text = ""
            txtSID.SetFocus
            Exit Sub
        Else
            '移动到下一条记录
            mrc_Stu.MoveNext
        End If
    Wend
    ReDate = Format(Date, "yyyy-mm-dd") '充值日期
    ReTime = Format(Now, "hh:mm:ss") '充值时间
    mrc_Stu.AddNew
        mrc_Stu.Fields(0) = Trim(txtCardNo.Text) '卡号
        mrc_Stu.Fields(1) = Trim(txtSID.Text) '学号
        mrc_Stu.Fields(2) = Trim(txtName.Text) '姓名
        mrc_Stu.Fields(3) = Trim(ComboSex.Text) '性别
        mrc_Stu.Fields(4) = Trim(txtDept.Text) '系别
        mrc_Stu.Fields(5) = Trim(txtGrade.Text) '年级
        mrc_Stu.Fields(6) = Trim(txtClass.Text) '班级
        mrc_Stu.Fields(7) = Trim(txtRecharge.Text) '金额
        mrc_Stu.Fields(8) = Trim(txtExplain.Text) '备注
        mrc_Stu.Fields(9) = Trim(UserName) 'UserID
        mrc_Stu.Fields(10) = Trim(comboState.Text)  '状态
        mrc_Stu.Fields(11) = "未结账" '结账状态
        mrc_Stu.Fields(12) = Trim(ReDate) '日期
        mrc_Stu.Fields(13) = Trim(ReTime)   '时间
        mrc_Stu.Fields(14) = Trim(comboType.Text)  '类型
    mrc_Stu.Update



    '添加到注册表中
    txtSQL = "select *from recharge_info"
    Set mrc_RE = ExecuteSQL(txtSQL, msgText)
    mrc_RE.AddNew
    mrc_RE.Fields(1) = Trim(txtSID.Text) '学号
    mrc_RE.Fields(2) = Trim(txtCardNo.Text) '卡号
    mrc_RE.Fields(3) = Trim(txtRecharge.Text) '金额
    mrc_RE.Fields(4) = Trim(ReDate)   '日期
    mrc_RE.Fields(5) = Trim(ReTime) '时间
    mrc_RE.Fields(6) = Trim(UserName) 'UserID
    mrc_RE.Fields(7) = "未结账" '结账状态
    mrc_RE.Update
    mrc_RE.Close
    mrc_Stu.Close

    MsgBox "注册成功!", vbOKOnly + vbExclamation, "警告"
    txtCardNo.Text = ""
    txtSID.Text = ""
    txtName.Text = ""
    ComboSex.Text = ""
    txtDept.Text = ""
    txtGrade.Text = ""
    txtClass.Text = ""
    txtRecharge.Text = ""
    txtExplain.Text = ""
    comboState.Text = ""
End Sub

总结:
因为做到了结账,发现了很多问题,所以才利用这种方式,之前的方式发现有很多问题。

感谢您的阅读,如果您有更好的想法,欢迎分享给我!

猜你喜欢

转载自blog.csdn.net/qizhi666/article/details/82729258