错误提示Else没有If

qq_39552351 2017-12-20 04:34:04
Private Sub UserName_Click() '对象名 事件名 过程名
If IsNull(Me.UserName) Then Rem Me.UserName :引用当前窗体上控件Me的Username属性
MsgBox (" 请输入您的用户名")
'用于显示一个提示信息框并返回用户响应结果
Me.UserName.SetFocus
'鼠标指在UserName
ElseIf IsNull(Me.keyword) Then
MsgBox ("请输入您的密码"), vbCritical
' 图标样式 显示(vb)红叉(X)圆图标
Me.keyword .SetFocus
'鼠标指在keyword
Else
strSQL = "select * from 表1 where UserName ='" & Me.UserName & "' "
rs.Open str
CurrentProject.Connection ',
adOpenoptimistic , adLockReadOnly
If (rs("keyword") = keyword) Then
Me.Visible = False
DoComd.Close '关闭当前活动窗口
DoComd.OpenForm "学生表" '打开学生表窗体
Else
MsgBox "您输入的密码不正确,请重新输入!如密码遗忘请与管理员联系", vbCritical
' 图标样式 显示(vb)红叉(X)圆图标
rs.Close
Set .rs = Nothing
Exit Sub
End If
End If
End If
Me.UserName = ""
Me.myword = ""

End Sub
...全文
366 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-12-22
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用‘注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
of123 2017-12-21
  • 打赏
  • 举报
回复
架构本身就不合理。改改:

Private Sub UserName_Click() '对象名 事件名 过程名
    If IsNull(Me.UserName) Then 'Rem   Me.UserName  :引用当前窗体上控件Me的Username属性
        MsgBox (" 请输入您的用户名")
        '用于显示一个提示信息框并返回用户响应结果
        Me.UserName.SetFocus
        '鼠标指在UserName
        Exit Sub
    End If

    If IsNull(Me.keyword) Then
        MsgBox ("请输入您的密码"), vbCritical
        ' 图标样式 显示(vb)红叉(X)圆图标
        Me.keyword .SetFocus
         '鼠标指在keyword
        Exit Sub
    End If

    strSQL = "select * from 表1 where UserName ='" & Me.UserName & "' "
    rs.Open str, CurrentProject.Connection,  adOpenoptimistic , adLockReadOnly
    If (rs("keyword") = keyword) Then
        Me.Visible = False
        DoComd.Close              '关闭当前活动窗口
        DoComd.OpenForm "学生表"  '打开学生表窗体
    Else
        MsgBox "您输入的密码不正确,请重新输入!如密码遗忘请与管理员联系", vbCritical
        ' 图标样式 显示(vb)红叉(X)圆图标
    End If

    rs.Close
    Set .rs = Nothing
    Me.UserName = ""
    Me.myword = ""
End Sub
Dickson 2017-12-21
  • 打赏
  • 举报
回复
一般这种提示都是多了End If之类,建议代码缩进,比较能看清楚
舉杯邀明月 2017-12-20
  • 打赏
  • 举报
回复
第1: 事件过程代码中,第1行的Then 后面 ,从Rem开始换到下一行去。   或者把 Rem 换成英文的单引号。 第2: 后面多写了一个 End If 。
qq_40494768 2017-12-20
  • 打赏
  • 举报
回复
是不是这里少了一个 if Else if             strSQL = "select * from 

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧