如何解决MS Access登录区分大小写?

时间:2019-04-10 19:13:46

标签: ms-access access-vba

我分享了我在MS Access数据库登录表单中使用的代码。

有人可以帮助我解决区分大小写的问题吗?

Private Sub Command1_Click() 
    Dim UserLevel As Integer 
    Dim USER_NAME As String 
    Dim TemLoginID As String

    If IsNull(Me.LOGINID) Then
        MsgBox "Please enter your login ID", vbInformation, "Login Id is required."
        Me.LOGINID.SetFocus 
    ElseIf IsNull(Me.PASSWORD) Then
        MsgBox "Please enter your password", vbInformation, "Password Id is required."
        Me.PASSWORD.SetFocus 
    Else
        If (IsNull(DLookup("USER_NAME", "USER", "USER_ID = '" & Me.LOGINID.Value & "'"))) Or _
        (IsNull(DLookup("PASSWORD", "USER", "PASSWORD = '" & Me.PASSWORD.Value & "'"))) Then
            MsgBox "Incorrect ID or Password." 
        Else
            TemLoginID = Me.LOGINID.Value
            USER_NAME = DLookup("USER_NAME", "USER", "USER_ID = '" & Me.LOGINID.Value & "'")
            UserLevel = DLookup("DIGINATION", "USER", "USER_ID = '" & Me.LOGINID.Value & "'")
            DoCmd.Close
            If UserLevel = 1 Then
                MsgBox "Welcome to our TravelSoft! You are login as a Admin."
                DoCmd.OpenForm "DESHBOARD"
                Forms![DESHBOARD]![LOGINID] = TemLoginID
                Forms![DESHBOARD]![USER] = USER_NAME    
            Else
                If UserLevel = 2 Then
                    MsgBox "Welcome to our TravelSoft! You are login as a Manager."
                    DoCmd.OpenForm "DESHBOARD"
                    Forms![DESHBOARD]![LOGINID] = TemLoginID
                    Forms![DESHBOARD]!Reissue.Enabled = False
                    Forms![DESHBOARD]!void.Enabled = False
                    Forms![DESHBOARD]!adm.Enabled = False
                    Forms![DESHBOARD]!particular.Enabled = False
                    Forms![DESHBOARD]!userid.Enabled = False
                    Forms![DESHBOARD]!Profile.Enabled = False
                    Forms![DESHBOARD]!AGENT.Enabled = False
                    Forms![DESHBOARD]![USER] = USER_NAME
                Else
                    If UserLevel = 3 Then
                        MsgBox "Welcome to our TravelSoft! You are login as a Accounts."
                        DoCmd.OpenForm "DESHBOARD"
                        Forms![DESHBOARD]![LOGINID] = TemLoginID
                        Forms![DESHBOARD]!Reissue.Enabled = False
                        Forms![DESHBOARD]!void.Enabled = False
                        Forms![DESHBOARD]!adm.Enabled = False
                        Forms![DESHBOARD]!particular.Enabled = False
                        Forms![DESHBOARD]!userid.Enabled = False
                        Forms![DESHBOARD]!Profile.Enabled = False
                        Forms![DESHBOARD]!AGENT.Enabled = False
                        Forms![DESHBOARD]!reissue_confirm.Enabled = False
                        Forms![DESHBOARD]!void_confirm.Enabled = False
                        Forms![DESHBOARD]!adm_confirm.Enabled = False
                        Forms![DESHBOARD]!Passenger_information.Enabled = False
                        Forms![DESHBOARD]!ticket_confirm.Enabled = False
                        Forms![DESHBOARD]![USER] = USER_NAME
                    Else
                        MsgBox "Welcome to our TravelSoft! You are login as a User."
                        DoCmd.OpenForm "DESHBOARD"
                        Forms![DESHBOARD]![LOGINID] = TemLoginID
                        Forms![DESHBOARD]!reissue_confirm.Enabled = False
                        Forms![DESHBOARD]!void_confirm.Enabled = False
                        Forms![DESHBOARD]!adm_confirm.Enabled = False
                        Forms![DESHBOARD]!ticket_confirm.Enabled = False
                        Forms![DESHBOARD]!Profile.Enabled = False
                        Forms![DESHBOARD]!AGENT.Enabled = False
                        Forms![DESHBOARD]!userid.Enabled = False
                        Forms![DESHBOARD]![USER] = USER_NAME
                    End If
                End If
            End If
        End If 
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

您可以使用 StrComp

DLookup("USER_NAME", "USER", "StrComp(USER_ID, '" & Me.LOGINID.Value & "', " & vbBinaryCompare & ") = 0")