2009-03-24 13 views

Répondre

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

....

Dim strLen As Long 
Dim strtmp As String * 256 
Dim strUserName As String 

strLen = 255 
GetUserName strtmp, strLen 
strUserName = Trim$(TrimNull(strtmp)) 

Transforme en question a été posée: How can I get the currently logged-in windows user in Access VBA?

+0

Je n'ai pas vu que la question a déjà été posée. Merci, de toute façon –

+0

Sachez que 'Declare' n'est pas disponible dans l'accès 64 bits. –

32

Essayez ceci:

Function UserNameWindows() As String 
    UserName = Environ("USERNAME") 
End Function 
+2

Gardez à l'esprit que cela peut être modifié par les utilisateurs/applications ... –

+9

Il n'est peut-être pas sûr à 100% à chaque fois, mais soyons honnêtes, nous parlons de VBA. Pour ma part, choisissez le moyen facile :) – Eric

+1

@Eric +1 Ici. Si vous êtes concerné, vous ne devriez pas utiliser Access en premier lieu. – Hill

-1

Dans un formulaire, créer une zone de texte, avec des propriétés de zone de texte sélectionnez de données tab

Default value =CurrentUser() 

rce « nom du champ de table sélectionnez »

Il affiche journal de l'utilisateur courant sur le nom dans la boîte/étiquette de texte ainsi que enregistre le nom d'utilisateur dans le champ de la table

+5

Cela n'affiche pas le nom de l'utilisateur actuel; il renvoie le "nom de l'utilisateur actuel de la base de données". La valeur par défaut est "Admin" sauf si vous avez créé un groupe de travail sécurisé. – Paul

Questions connexes