【机房】充值

前言:充值是机房里面较为简单的一个窗体,逻辑理清楚之后上手就简单多了。

正文:下面是流程图,在代码中我把判断卡号是否存在与是否停用合并了。

下面是部分重要代码:

Private Sub cmdOk_Click()
    Dim mrc As ADODB.Recordset
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrcc As ADODB.Recordset
    Dim mrc_bd As ADODB.Recordset
    '判断卡号是否为空
'    Username = frmLogin.txtUsername.Text
    If Trim(txtCardno.Text) = "" Then
        MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
        txtCardno = ""
        txtCardno.SetFocus
        Exit Sub
    End If
    '判断充值金额是否为空
    If Trim(txtRecharge.Text) = "" Then
        MsgBox "请输入充值金额!", vbOKOnly + vbExclamation, "警告"
        txtRecharge = ""
        txtRecharge.SetFocus
        Exit Sub
    End If
    '判断卡号是否存在或已停用
    txtSQL = "select * from student_info where cardno='" & Trim(txtCardno.Text) & "'And Status = '不使用'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    If mrc.EOF = False Then
        MsgBox "此卡号不存在或已经不再使用!", 0 + 48, "警告"
        txtCardno = ""
        txtCardno.SetFocus
        mrc.Close
    Else
        '判断充值金额是否大于设置的最低金额
        txtSQL = "select * from basicdata_info"
        Set mrc_bd = ExecuteSQL(txtSQL, MsgText)
        
        If Trim(txtRecharge.Text) < Trim(mrc_bd.Fields(5)) Then
            MsgBox "金额不能低于设置的最低金额!", vbOKOnly + vbExclamation, "警告"
            txtRecharge = ""
            txtRecharge.SetFocus
            Exit Sub
        Else
            txtSQL = "select * from student_info "
            Set mrc = ExecuteSQL(txtSQL, MsgText)
            
            txtSQL = "select * from recharge_info "
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
            
            mrc.Fields(12) = Date
            mrc.Fields(13) = Time
            mrc.Fields(7) = Val(Trim(txtRecharge.Text) + mrc.Fields(7))
            mrc.Update
            
            mrcc.AddNew
            mrcc.Fields(1) = mrc.Fields(1)
            mrcc.Fields(2) = mrc.Fields(0)
            mrcc.Fields(3) = Val(Trim(txtRecharge.Text))
            mrcc.Fields(4) = Date
            mrcc.Fields(5) = Time
            mrcc.Fields(6) = Username 'frmLogin.txtUsername.Text
            mrcc.Fields(7) = "未结账"
            mrcc.Update
            mrcc.Close
        
            Text1.Text = "充值卡号:" & mrc.Fields(0) & vbCrLf & "上次卡内余额:" & mrc.Fields(7) - txtRecharge.Text _
            & vbCrLf & "现在卡内的余额:" & mrc.Fields(7) & vbCrLf & "充值日期:" & mrc.Fields(12) & vbCrLf & "充值时间:" & mrc.Fields(13) & vbCrLf & "充值老师:" & Username
            
            MsgBox "充值成功!", 48, "提示"
            txtCardno.Text = ""
            txtRecharge.Text = ""
            Text1.Text = ""
            txtCardno.SetFocus
        End If
    End If
End Sub

总结:机房收费系统作为自己第一个独立上手的系统,简单窗体的成功运行能带来自信,继续做下去。

猜你喜欢

转载自blog.csdn.net/hsm_Jasmine/article/details/85227841