Private Sub MDIForm_Load()
Dim RecordSql As New Recordset
Dim SQL As String
Dim msgstring As String
SQL = "select * from admintype where type_no = '" & AdminType & "'"
Set RecordSql = ExecuteSql(SQL, msgstring)
If (RecordSql.Fields(1) <> "administrator") Then
       If (RecordSql.Fields(1) = "commonuser") Then
       UserManager.Enabled = False
       UserInfoManager.Enabled = False
     End If
End If
MsgBox RecordSql.Fields(1)
End Sub我以COMMONUSER的身分登陆后,IF后面的语句不起作用呀?????????????

解决方案 »

  1.   

    可能包含空格之类,
    改如下
    If (RecordSql.Fields(1) = "administrator") Then
        if usermanager.enabled=false then
           usermanager.enabled=true
        end if
    else
        if UserManager.Enabled = true then
           UserManager.Enabled = false
        End If
        if UserInfoManager.Enabled = true then
           UserInfoManager.Enabled = False
        end if
    End If
      

  2.   

    我按照你的方法试了一下还是不行呀,急~~~~~~
    我仔细检查了,还用MSGBOX测试提示的信息是对的呀,为什么判断会出错了???????????
      

  3.   

    RecordSql("字段名") = "administrator",明显一点 :)
      

  4.   

    1.将
    If (RecordSql.Fields(1) <> "administrator") Then
           If (RecordSql.Fields(1) = "commonuser") Then
           UserManager.Enabled = False
           UserInfoManager.Enabled = False
         End If
    End If改为If ucase$("" & (RecordSql.Fields(1)) <> ucase$("administrator") Then
           If (RecordSql.Fields(1) = "commonuser") Then
           UserManager.Enabled = False
           UserInfoManager.Enabled = False
         End If
    End If2.最好 RecordSql.Fields(1) 换成 RecordSql.Fields(用户句字段)
    3.数据库定义是.该字段是否定义成了 VARCHAR(),如果是 改为 VARCHAR(),否则,在IF语句中,你还要处理多余的 CHR(0).
      

  5.   

    修正:
    3.数据库定义是.该字段是否定义成了 CHAR(),如果是 改为 VARCHAR(),否则,在IF语句中,你还要处理多余的 CHR(0).