UserID() gebruiken om waarde te zoeken

Status
Niet open voor verdere reacties.

LaurensAcces

Gebruiker
Lid geworden
26 nov 2012
Berichten
25
Beste Forumleden,

Wie kan mij helpen met het volgende?

In een module roep ik met onderstaande code een UserID aan welke ik gebruik om log bestanden aan te leggen
Code:
Public Function UserID() As String
    UserID = VBA.Environ("username")
End Function
Nu heb ik in de zelfde database een formulier waar op aangegeven kan worden welke medewerker een actie op moet volgen. Dit kan ingevuld worden met een keuzelijst met invoervak. Aangezien normaal gesproken depersoon die een actie boekt deze zelf ook opvolgt wil ik graag dat de standaardwaarde van de keuzelijst met invoervak bij het openen van een nieuw formulier gelijk is aan de huidge user, maar wel de keuze houdt om een andere medewerker in te vullen.
In de database zit een aparte tabel "Medewerkers" met hierin de kolom "Medewerker" waarin de zelfde namen staan als uit de UserId() terugkomen.

Ik maak nu al gebruik van de onderstaande code voor het laden van het formulier.
Code:
Private Sub Form_Load()
If Not Nz(Me.OpenArgs, "") = "" Then
        Me.ClientNo.Value = Me.OpenArgs
    End If
    If Me.NewRecord Then
     Me.User = UserID()
     End If
End Sub

Alvast bedankt voor jullie moeite!

Met vriendelijke groet,

Laurens
 
Je kunt een keuzelijst een standaardwaarde meegeven bij het openen, op dezelfde manier als je ClientNo vult. Dus iets als:
Code:
        Me.ClientNo.Value = Me.OpenArgs
        Me.cboMedewerker.Value = UserID
 
Beste OctaFish,

Dit had ik al geprobeerd, alleen loop ik dan tegen het probleem aan dat de waarde die als UserID geretourneerd wordt tekst is en niet zoals bij ClientNo een numerieke waarde.

Gr. Laurens
 
Mag niet uitmaken. Tenzij je keuzelijst een andere waarde (veld) gebruikt; dan kan het kloppen dat het niet werkt. In dat geval is het handiger als je een voorbeeldje meepost.
 
Hoi OctaFish,

Ik heb het voor elkaar gekregen met volgende code, bedankt voor het mee denken!

Code:
Private Sub Form_Load()
Dim UserName As Long

If Not Nz(Me.OpenArgs, "") = "" Then
        Me.ClientNo.Value = Me.OpenArgs
           End If
    If Me.NewRecord Then
     Me.User = UserID()
     UserName = DLookup("Id", "Werknemers", "Login ='" & Me.User.Value & "'")
     Me.cboMedewerker.Value = UserName
           
     End If
End Sub

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