Foutafhandeling

jacw

Gebruiker
Lid geworden
23 sep 2006
Berichten
84
Besturingssysteem
Windows 11
Office versie
Office 365
Goedemorgen, ik ben niet thuis in VBA en heb van iemand een stukje code gekregen.
De code werkt bijna zoals ik wil. Als ik een gebruikersnaam opgeef, die niet in de tabel staat, dan krijg ik een foutmelding "ongeldig gebruik van null" foutcode 94.
Deze regel is gemarkeerd:
Code:
strWachtwoord = DLookup("[Wachtwoord]", "tblGebruikers", "Gebruikersnaam = '" & strGebruikersnaam & "'")

Wie kan mij helpen deze foutmelding correct af te handelen?

Code:
Private Sub cmdInloggen_Click()
    Dim strGebruikersnaam As String
    Dim strWachtwoord As String
    Dim strFormulierNaam As String
    Dim strCriteria As String

    ' Controleer of de invoervelden zijn ingevuld
    If Trim(Me.txtGebruikersnaam.Value & "") = "" Then
        MsgBox "Voer een gebruikersnaam in.", vbInformation, "Gebruikersnaam vereist"
        Me.txtGebruikersnaam.SetFocus
        Exit Sub
    End If

    If Trim(Me.txtWachtwoord.Value & "") = "" Then
        MsgBox "Voer een wachtwoord in.", vbInformation, "Wachtwoord vereist"
        Me.txtWachtwoord.SetFocus
        Exit Sub
    End If

    ' Gebruik DLookup om het wachtwoord op te zoeken in de tabel
    strGebruikersnaam = Me.txtGebruikersnaam.Value
    strWachtwoord = DLookup("[Wachtwoord]", "tblGebruikers", "Gebruikersnaam = '" & strGebruikersnaam & "'")

    ' Controleer of het ingevoerde wachtwoord overeenkomt
    If strWachtwoord = Me.txtWachtwoord.Value Then
        ' Zoek de formuliernaam op voor de gebruiker
        strFormulierNaam = DLookup("[FormulierNaam]", "tblGebruikers", "Gebruikersnaam = '" & strGebruikersnaam & "'")
       
        ' Open het bijbehorende formulier
        DoCmd.OpenForm strFormulierNaam
       
        ' Sluit het inlogformulier
        DoCmd.Close acForm, "frmInloggen"
    Else
        MsgBox "Onjuiste gebruikersnaam of wachtwoord. Probeer het opnieuw.", vbExclamation, "Inlogfout"
        Me.txtWachtwoord.SetFocus
    End If
        Me.txtWachtwoord.Value = Null
    Me.txtGebruikersnaam.Value = Null
End Sub

Met groet,
Jacob
 
Laatst bewerkt:
De gemarkeerde regel staat niet in de code die je plaatste.
 
Dankjewel voor je opmerking, ik heb het hersteld. {verkeerde kladblok)
 
Als het goed is staat alles er nu
 
Het probleem is mogelijk dat strWachtwoord als String is gedefinieerd en je er Null aan toe wilt wijzen. Probeer het eens als Variant.
Om te voorkomen dat je verderop weer problemen krijgt met de Null kan je het controleren van het wachtwoord overslaan. Dat heeft sowieso geen nut als de gebruikersnaam niet bestaat.
 
Kun je mij opweg helpen? ik kom er zelf niet uit. bij voorbaat dank
 
Waarom maak je geen gebruik van de Windows-gebruikersnaam ? Dan is 1 regel VBA voldoende.
 
Terug
Bovenaan Onderaan