前几天让师傅验收了机房,本来觉得自己弄的挺好的,但是事实就是弄得差远了!很桑心啊!不过呢咱也不是没有收获,又知道了很多以前没想过的问题。拿登陆窗体来说,我居然忘了让不同的人登陆会有不同的权限,当然这个小小的问题被我轻松解决了(不就是添加判断么)。然而师傅说的另一个问题不允许多人登陆就不太明白了,为啥不能多人登陆,那这么多用户啊,管理员啊啥的不让登陆要他们干啥-_-不过呢后来我想了想觉得应该是这样,什么一般用户,管理员可以登录,但是另一类人就不行了,他们就是-操作员。为什么呢?因为这个操作员就是我们的登陆教师,它联系着一个表-正在值班教师表如果你允许操作员重复登陆那么当管理员进行正在值班教师查询是就会有多条数据,那他肯定就糊涂了,怎么这么多正在值班教师,而且还是同一个人反复值班。所以呢在这里我们也要添加判断,当我们登陆操作员是先检查正在值班教师表中是否有数据,如果有提示有教师登陆,不需要重复登陆,如果没有呢就添加数据到表中并显示主窗体。当然了,一个教师总会在多个地方值班,只需要判断教师名称和电脑名就行,这就完成了判断。
txtSQL = "select * from User_Info where userID = '" & txtUserName.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
txtSQL2 = "select * from onwork_Info where computer = '" & "公子电脑" & "'" '查询正在值班教师表
Set mrc2 = ExecuteSQL(txtSQL2, MsgText)
txtSQL1 = "select * from onwork_Info "
Set mrc1 = ExecuteSQL(txtSQL1, MsgText)
If mrc1.RecordCount > 0 And Trim(mrc.Fields(1)) = Trim(txtPassword.Text) And Trim(mrc.Fields(2)) = "操作员" And mrc2.EOF = False Then
MsgBox "已有教师登陆管理,不用重复登陆,如有需要请通知管理员!", vbOKOnly + vbExclamation, "警告"
txtUserName.Text = ""
txtPassword.Text = ""
Else
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) And Trim(mrc.Fields(2)) = "操作员" Then
mrc1.AddNew
mrc1.Fields(0) = mrc.Fields(0)
mrc1.Fields(1) = mrc.Fields(2)
mrc1.Fields(2) = Date
mrc1.Fields(3) = Time
mrc1.Fields(4) = "公子电脑"
mrc1.Update
End If
End If
If Trim(mrc.Fields(2)) = "一般用户" Then
frmMain.bbb.Enabled = False
frmMain.ccc.Enabled = False
End If
If Trim(mrc.Fields(2)) = "操作员" Then
frmMain.ccc.Enabled = False
End If
If Trim(mrc.Fields(2)) = "管理员" Then
frmMain.aaa.Enabled = True
frmMain.bbb.Enabled = True
frmMain.ccc.Enabled = True
End If
If Trim(txtUserName.Text = "") Then '验证用户名
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If mrc.EOF Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
OK = True
Me.Hide
frmMain.Show
username = Trim(txtUserName.Text)
Else
MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
txtPassword.Text = ""
End If
End If
End If
我上面写的这段代码还有很大改进的地方,如果对各位有帮助呢请自行改之!
最后给看我博客的小伙伴提个问题:为什么我登陆窗体点击确定之后会出现两个一样的主窗体?