问题 填空题

现有用户登录界面如下:
窗体中名为username的文本框用于输入用户名,名为pass的文本框用于输入用户的密码。用户输入用户名和密码后,单击“登录”名为login的按钮,系统查找名为“密码表”的数据表,如果密码表中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”:如果用户名或密码输入错误,则给出相应的提示信息。
[*]
密码表中的字段均为文本类型,数据如下图所示。
[*]
单击“登录”按钮后相关的事件代码如下,请补充完整。
Private Sub login_Click()
Dim str As String
Dim rs AS New ADODB.Recordset
Dim fd As ADODB.Field
Set en=CurrentProjeet.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.Open str,cn,adopenDynamic,adLockOptimistic,adCmdText
If Then
MsgBox"没有这个用户名或密码输入错误,请重新输入"
Me.username=" "
Me.pass=" "
Else
Set =rs.Fields("权限")
If fd="管理员"Then
DoCmd.Close
DoCmd.OpenForm "管理员窗体"
MsgBox "欢迎您,管理员"
Else
DoCmd.Close
DoCmd.OpenForm "用户窗体"
MsgBox "欢迎使用会员管理系统"
End If
End If
End If
End Sub

答案

参考答案:(14) rs.eof (15) fd

解析: 本题考查的是VBA编程基础、事件过程。通过语句“str="select * from密码表where用户名="& logname &"and密码="& pass &" "”,可以判断出下面的条件语句是在遍历密码表后,判断表中是否有用户输入的用户名和密码,所以(14)空填rs.eof,rs是记录集,eof()函数是指当前记录位置位于Recordset对象的最后一个记录之后,属性返回布尔型值。即遍历密码表,判断结果,如果查找到密码表的最后一条记录,仍然没有找到输入的用户名及密码,则提示用户“没有这个用户名或密码输入错误,请重新输入”。如果找到输入的用户名及密码,则通过else中的语句获取用户的赋值权限变量fd,所以(15)空应该填fd。

单项选择题
单项选择题