现有用户登录界面如下。
窗体中“用户名”文本框(名为username)用于输入用户名,“密码”文本框(名为pass)用于输入用户的密码。用户输入用户名和密码后,单击“登录”按钮(名为login),系统查找名为“密码表”的数据表,如果“密码表”中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”;如果用户名或密码输入错误,则给出相应的提示信息。
“密码表”中的字段均为文本类型,数据如下表。
密码表 | ||
用户名 | 密码 | 权限 |
Chen | 1234 | |
Zhang | 5678 | 管理员 |
Wang | 1234 | |
单击“登录”按钮后相关的事件代码如下,请补充完整。
Private Sub login_Click()
Dim str As String
Dim rs As New ADODB.Recordset
Dim fd As ADODB.Field
Set cn=CurrenfProjet.Connection
logname=Trim(Me!username)
pass=Trim(Me!pass)
If Len(Nz(logname))=0 Then
MsgBox "请输入用户名"
Else If Len(Nz(pass))=0 Then
MsgBox "请输入密码"
Else
str="select * from 密码表 where 用户名=’"&logname&"’ and 密码=’"&pass&"’"
rs.Openstr,cn,adOpenDynamic,adLockOptimistic,adCmdText
If (14) Then
MsgBox "没有这个用户名或密码输入错误,请重新输入"
Me username=""
Mepass=""
Else
Set (15) =rs.Fields("权限")
If fd="管理员" Then
DoCmd.Close
DoCmd.OpenForm "管理员窗体"
MsgBox "欢迎您,管理员"
Else
DoCmd.Close
DoCmdOpenForm "用户窗体"
MsgBox "欢迎使用会员管理系统"
End If
End If
End If
End Sub
(15)是()
参考答案:fd
解析:
通过“str="select * from 密码表 where 用户名=’"&logname&"’ and 密码=’"&pass&"’"”,可以判断出下面的条件语句是在遍历密码表后,判断表中是否有用户输入的用户名和密码,所以第14空填“rs.eof”,rs是记录集,eof函数是指当前记录位置位于Recordset对象的最后一个记录之后,属性返回布尔型值。即遍历密码表,判断结果,如果查找到密码表的最后一条记录时,仍然没有找到输入的用户名及密码,则提示用户“没有这个用户名或密码输入错误,请重新输入”。如果找到输入的用户名及密码,则通过else中的语句获取用户的权限赋值变量fd,所以第15空应该填fd。