954,557 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

small error please help

Private Sub Command4_Click()
Dim vPass As String
 If IsNull([usernametxt]) = True Then
        MsgBox "Username is required", vbOKOnly, "Required Data"
        
    ElseIf IsNull([answertxt]) = True Then
        MsgBox "Password is required", vbOKOnly, "Required Data"

End If
' Evaluate filter before it is passed to DLookup function.
     strFilter = "[USERNAME]= '" & Me.usernametxt & "' And [ANSWER]= '" & Me.answertxt & "'"

    ' Look up product's unit price and assign it to the UnitPrice control.
     vPass = DLookup("PASSWORD", "SYS_USER", strFilter)

If IsNull(vPass) = False Then
Me.passwordtxt.Value = vPass
Else
MsgBox "You have entered an incorrect username or answer."
End If
End Sub


i use this code to run a forget password in a login system.
it works just fine, but have one error if u entered wrong information it gives me invalid use of null and points at(vPass = DLookup("PASSWORD", "SYS_USER", strFilter).

deadelgabar
Light Poster
31 posts since Apr 2010
Reputation Points: -1
Solved Threads: 0
 

Your variable "vPass" should be type "variant".

You may also wish to exit the sub if you have invalid entries, like so:

Private Sub Command4_Click()
Dim vPass As Variant           '<------------------------ Should be variant, not string datatype
If IsNull([usernametxt]) = True Then
    MsgBox "Username is required", vbOKOnly, "Required Data"
    Exit Sub                   '<------------------------ Leave Subroutine on invalid username
ElseIf IsNull([answertxt]) = True Then
    MsgBox "Password is required", vbOKOnly, "Required Data"
    Exit Sub                   '<------------------------ Leave Subroutine on invalid answer text
End If
' Evaluate filter before it is passed to DLookup function.
strFilter = "[USERNAME]= '" & Me.usernametxt & "' And [ANSWER]= '" & Me.answertxt & "'"

' Look up product's unit price and assign it to the UnitPrice control.
vPass = DLookup("PASSWORD", "SYS_USER", strFilter)

If IsNull(vPass) = False Then
    Me.passwordtxt.Value = vPass
Else
    MsgBox "You have entered an incorrect username or answer."
End If

End Sub

Hope this helps.

BitBlt
Master Poster
711 posts since Feb 2011
Reputation Points: 367
Solved Threads: 109
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: