Login formulier - inlognaam op ander formulier zichtbaar maken?

  • Onderwerp starter Onderwerp starter jhdw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jhdw

Gebruiker
Lid geworden
15 dec 2012
Berichten
166
Goedenavond,

Ik heb weer eens een probleem wat voor de deskundigen op dit forum een makkie zal zijn om op te lossen. Ik zie het gewoon niet.
Wat ik graag zou willen, is dat de ingevoerde inlognaam op het inlogformulier opgeslagen wordt in een variabele en later op een ander formulier in een tekstveld wordt weergegeven.
Op het andere formulier wil ik dan bijv. het adres van de inlognaam gebruiken i.c.m. Google Maps en dan de route naar een klant berekenen. Als ik de inlognaam op het desbetreffende formulier kan krijgen, dan lukt de rest wel.

Kan iemand mij aangeven in de bijgevoegde database wat ik moet aanpassen?

Alvast bedankt

Gr. Jan
 

Bijlagen

Je maakt een paar essentiële fouten. Om te beginnen: je definieert sUser twee keer: één keer op <frmLogon> en één keer op <frm_test>. Elke keer als je een variabele opnieuw declareert, maak je hem leeg. Dus ook al vul je hem op <frmLogon> 20 keer, elke keer als je <frm_test> opent maak je hem weer leeg. Dat kun je natuurlijk lang volhouden. De tweede fout: zou je hem niet declareren op <frm_test>, dan is de variabele óók leeg. En heb je dus dezelfde situatie. Reden dáárvoor is, dat een public variabele op een formulier alleen op dàt formulier werkt. Ga je naar een ander formulier, dan bestaat de variabele dus niet meer. Daar moet je hem derhalve weer opnieuw declareren. Een pepertuum mobile dus.
De oplossing voor een public variabele die je overal kunt gebruiken, is om hem in een module te declareren. Dan werkt hij wel overal.
Of, nog veel handiger, maak er een TempVar van. Dan werkt het wel gelijk goed.

Code:
    'Check value of password in tblEmployees to see if this matches value chosen in combo box
    strSQL = "SELECT strEmpPassword, strEmpName FROM tblEmployees WHERE lngEmpID = " & Me.cboEmployee.Value
    With CurrentDb.OpenRecordset(strSQL)
        If .RecordCount = 1 Then
            If Me.txtPassword.Value = .Fields(0).Value Then
                TempVars.Add "tmpUser", .Fields(1).Value
                With DoCmd
                    .SetWarnings False
                    .RunSQL "UPDATE tblEmployees SET Ingelogd = True WHERE lngEmpID=" & Me.cboEmployee.Value
                    .SetWarnings True
                    .Close acForm, Me.Name
                    .OpenForm "frm_test"
                End With
            Else
                intLogonAttempts = intLogonAttempts + 1
                MsgBox "Verkeerd wachtwoord.  Probeer het opnieuw, u heeft nog " & 5 - intLogonAttempts & " pogingen.", vbOKOnly, "Invalid Entry!"
                Me.txtPassword.SetFocus
            End If
        End If
    End With

Code:
Private Sub Form_Current()
    Me.txt_loginnaam = TempVars("tmpUser")
End Sub
 
Hallo Michel,

Bedankt voor de snelle reactie.
Ik heb de code eerst in de test db geplaatst, dat werkte prima. Daarna in de db waarvoor de vraag gesteld is, dat ging ook helemaal naar wens!

Nogmaals dank en wie weet bedenk ik wel weer iets waar ik dan toch weer in vast loopt maar dankzij dit forum lukt het altijd weer om tot een oplossing te komen.

Gr. Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan