Show username in textbox

Status
Niet open voor verdere reacties.

Michiel Karel

Gebruiker
Lid geworden
14 feb 2007
Berichten
49
hallo,

Ik wil graag in een tekstbox 'txt_username' de naam van de gebruiker die op dat moment in de applicatie werkt.

wanneer ik als besturingselementbron aangeef:

=CurrentUser()

geeft hij steeds "Admin" weer. terwijl dat helemaal niet van toepassing is.
dit zou bijv. "jansene" moeten zijn of "pietersf"

Ik hoop dat dit op te lossen valt met de "environ("username") methode maar ik zie nog niet hoe dat moet, vandaar dat ik me even tot de mensen hier op het forum wend.

Wie helpt? :)

Alvast bedankt.
 
Code:
Option Compare Database
Option Explicit

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function GetCurrentUserName() As String

    Dim lng As Long
    Dim sUser As String
    
    sUser = Space$(255)
    lng = GetUserName(sUser, 255)
    
    'strip null terminator
    
    If lng <> 0 Then
       GetCurrentUserName = Left(sUser, InStr(sUser, Chr(0)) - 1)
    Else
       Err.Raise Err.LastDllError, , "A system call returned an error code of " & Err.LastDllError
    End If
    
End Function
Zet deze in een module.
Met GetCurrentUserName() krijg je de Windows Username.
 
Met environ krijg je andere gegevens zoals de computer naam.

Code:
Public Function GetAllEnvironStrings()

    Dim EnvString, Indx, Msg, PathLen    ' Declare variables.
    Indx = 1    ' Initialize index to 1.
    Do
        EnvString = Environ(Indx)    ' Get environment
        Debug.Print EnvString
                    ' variable.
        If Left(EnvString, 5) = "PATH=" Then    ' Check PATH entry.
            PathLen = Len(Environ("PATH"))    ' Get length.
            Msg = "PATH entry = " & Indx & " and length = " & PathLen
            Exit Do
        Else
            Indx = Indx + 1    ' Not PATH entry,
        End If    ' so increment.
    Loop Until EnvString = ""
    If PathLen > 0 Then
        Debug.Print Msg    ' Display message.
    Else
        Debug.Print "No PATH environment variable exists."
    End If
    

End Function
Vervang PATH door COMPUTERNAME

BTW uit de Access Help files gehaald:confused:

Enjoy!
 
Bedankt voor de medewerking! Dat stel ik erg op prijs.

Ik kreeg eerst als resultaat : #Naam?

Hier kwam ik dus niet heel veel verder mee :), ik dacht...wat zou hier de oorzaak van kunnen zijn?

bleek dat er een '=' voor moest staan :D. het is dus opgelost!

hartstikke bedankt :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan