【机房】登录

一、逻辑结构图

敲代码之前一定要有逻辑,去捋顺要敲代码的逻辑顺序,把代码敲出来,软件运行的过程你知道么?其实敲机房登录,和学生登录一样,没啥区别,但要区分一般用户操作员和管理员的权限,在这个阶段我们能学到的就是要理清代码和应用的逻辑设计,我们都知道登录不过就是输入用户和密码就进入主窗体么,其实它的内部顺序是这样的,如下图


二、过程代码

Private Sub cmdOK_Click()
    Dim txtSQL As String
    Dim txtSQL1 As String
    Dim mrc As ADODB.Recordset  '验证用户和用户级别
    Dim mrc1 As ADODB.Recordset '用来将登录用户的信息更新到正在上机表中
    Dim msgText As String
    
    UserName = ""
    If Trim(txtUserName.Text = "") Then
        MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
        txtUserName.SetFocus
    Else
        txtSQL = "select * from User_Info where userID= '" & Trim(txtUserName.Text) & "'"
        Set mrc = ExecuteSQL(txtSQL, msgText)
        
        If mrc.EOF = True Then
            MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
            txtUserName.SetFocus
            txtUserName.Text = ""
        Else
             '判断用户级别
            If Trim(mrc.Fields(2)) = Trim("一般用户") Then      '一般用户的权限
                If Trim(mrc.Fields(1)) = Trim(txtPwd.Text) Then '判断密码是否正确
                    txtSQL1 = "select*from OnWork_Info"         '获取正在上机的表
                    Set mrc1 = ExecuteSQL(txtSQL1, msgText)
                     
                    Me.Hide
                    UserName = Trim(txtUserName.Text)   '将用户名给username
                    frmMain.Show
                    frmMain.GeneralUser.Enabled = True
                    frmMain.Operator.Enabled = False
                    frmMain.Administrator.Enabled = False
                     mrc1.AddNew    '添加更新到正在上机表里
                     mrc1.Fields(0) = Trim(UserName)
                     mrc1.Fields(1) = Trim(mrc.Fields(2))
                     mrc1.Fields(2) = Trim(Date)
                     mrc1.Fields(3) = Trim(Time)
                     mrc1.Fields(4) = VBA.Environ("computername")
                     mrc1.Update
                     mrc1.Close
                Else
                    MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    txtPwd.SetFocus
                    txtPwd.Text = ""
                End If
           End If
           
           If Trim(mrc.Fields(2)) = Trim("操作员") Then      '操作员的权限
                If Trim(mrc.Fields(1)) = Trim(txtPwd.Text) Then '判断密码是否正确
                    txtSQL1 = "select*from OnWork_Info"     '获取正在上机的表
                    Set mrc1 = ExecuteSQL(txtSQL1, msgText)
                     
                    Me.Hide
                    UserName = Trim(txtUserName.Text)   '将用户名给username
                    frmMain.Show
                    frmMain.GeneralUser.Enabled = True
                    frmMain.Operator.Enabled = True
                    frmMain.Administrator.Enabled = False
                     mrc1.AddNew    '添加更新到正在上机表里
                     mrc1.Fields(0) = Trim(UserName)
                     mrc1.Fields(1) = Trim(mrc.Fields(2))
                     mrc1.Fields(2) = Trim(Date)
                     mrc1.Fields(3) = Trim(Time)
                     mrc1.Fields(4) = VBA.Environ("computername")
                     mrc1.Update
                     mrc1.Close
                Else
                    MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    txtPwd.SetFocus
                    txtPwd.Text = ""
                End If
           End If
           
           If Trim(mrc.Fields(2)) = Trim("管理员") Then      '管理员的权限
                If Trim(mrc.Fields(1)) = Trim(txtPwd.Text) Then '判断密码是否正确
                    txtSQL1 = "select*from OnWork_Info"     '获取正在上机的表
                    Set mrc1 = ExecuteSQL(txtSQL1, msgText)
                     
                    Me.Hide
                    UserName = Trim(txtUserName.Text)   '将用户名给username
                    frmMain.Show
                    frmMain.GeneralUser.Enabled = True
                    frmMain.Operator.Enabled = True
                    frmMain.Administrator.Enabled = True
                     mrc1.AddNew    '添加更新到正在上机表里
                     mrc1.Fields(0) = Trim(UserName)
                     mrc1.Fields(1) = Trim(mrc.Fields(2))
                     mrc1.Fields(2) = Trim(Date)
                     mrc1.Fields(3) = Trim(Time)
                     mrc1.Fields(4) = VBA.Environ("computername")
                     mrc1.Update
                     mrc1.Close
                Else
                    MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    txtPwd.SetFocus
                    txtPwd.Text = ""
                End If
           End If
        End If
        
        ok = True
    End If
    
    miCount = miCount + 1
    If miCount > 2 Then
        MsgBox "你已经超过允许验证次数!", vbOKOnly + vbExclamation, "提示"
        Unload Me
    End If
    
    Exit Sub
End Sub
大体上就是这些,登录其实很简单,我在这过程中并没有遇到太大的问题,具体问题具体解决,其实很多知识在敲学生的时候没有弄懂,反而在敲机房的时候懂了,其实知识的学习就是这样,一遍遍的学习,一步步的碾压过来的,大家加油!
评论 65
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值