问题 填空题

现有用户登录界面如下。

窗体中“用户名”文本框(名为username)用于输入用户名,“密码”文本框(名为pass)用于输入用户的密码。用户输入用户名和密码后,单击“登录”按钮(名为login),系统查找名为“密码表”的数据表,如果“密码表”中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”;如果用户名或密码输入错误,则给出相应的提示信息。

“密码表”中的字段均为文本类型,数据如下表。

密码表
用户名密码权限
Chen1234 
Zhang5678管理员
Wang1234 

单击“登录”按钮后相关的事件代码如下,请补充完整。

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。

单项选择题
单项选择题