Recherche
Recherche
Les mémos
Je débute...
Visites

 1002167 visiteurs

 1 visiteur en ligne

Obtenir le nom de l'utilisateur en cours par fUsername

Combinaison de l'API pour Win9x et de la variable d'environnement Username.

Pour diminuer les temps de réponse notamment en cas d'utilisation intensive de la fonction sur un réseau multi-postes, la variable d'environnement ou la fonction API ne sont utilisées qu'une seule fois par session Access, et leur résultat stocké dans une variable "Static".

'/
'/ A placer dans la partie déclarative
'/
Private Declare Function api_GetUserName _
                          Lib "advapi32.dll" Alias "GetUserNameA" _
                              (ByVal lpBuffer As String, nSize As Long) As Long

 La fonction :

Public Function fUserName() As String
    Static strUser As String
    If Len(strUser) > 0 Then
        fUserName = strUser
    Else
        Select Case Len(Environ$("username"))
        Case 0
            Dim NBuffer As String
            Dim Buffsize As Long
            Buffsize = 16
            NBuffer = Space$(Buffsize)
            Call api_GetUserName(NBuffer, Buffsize)
            strUser = Trim$(NBuffer)
            If InStr(1, strUser, Chr(0), vbBinaryCompare) > 0 Then
                strUser = Left(strUser, _
                               InStr(1, strUser, _
                                     Chr(0), vbBinaryCompare) - 1)
                fUserName = strUser
            End If
        Case Is > 0
            strUser = Environ$("username")
            fUserName = strUser
        End Select
    End If
End Function


Catégorie : Les mémos - Administration
Page lue 3625 fois