敲机房已经有几天了,从开始的一团乱麻,到“盲人摸象”先敲着走,到现在几个类似与学生系统的窗体已经敲完,再回头分析一下,貌似对机房收费终于有了丢丢的理解。
关于权限问题,下面是我的初步理解:
可知,三种用户分别对应三种不同的权限,并且三种权限为包含关系。所以,设置权限的思路为:根据正确的用户名判断其对应Level,然后根据Level设置对应的权限。
思路很简单,但是就是有各种问题。在娜娜大神的帮助下,终于实现了。在登陆窗体中,确定用户名和密码正确的前提下,加上如下代码:
<pre name="code" class="vb">'判断用户名和密码是否正确
txtSQL = "select * from User_Info where userID = '" & txtUsername.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
Username = ""
If mrc.EOF Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUsername.Text = ""
txtPassword.Text = ""
txtUsername.SetFocus
Exit Sub
Else
txtSQL = "select * from User_Info where userID = '" & txtUsername.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
OK = True
'判断权限
Select Case Trim(mrc.Fields(2))
Case Is = "管理员"
frmMain.userMenu.Enabled = True
frmMain.opeMenu.Enabled = True
frmMain.adminMenu.Enabled = True
Case Is = "操作员"
frmMain.userMenu.Enabled = True
frmMain.opeMenu.Enabled = True
frmMain.adminMenu.Enabled = False
Case Is = "一般用户"
frmMain.userMenu.Enabled = True
frmMain.opeMenu.Enabled = False
frmMain.adminMenu.Enabled = False
End Select
Username = Trim(txtUsername.Text) '用当前输入的用户名登录
Else
MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtPassword.Text = ""
txtPassword.SetFocus
Exit Sub
End If
End If