Supportnet / Forum / Datenbanken
Windows Anmeldename in Access2k VBA verarbeiten
Frage
Hallo, frohes Neues auch noch,
Ich moechte gerne den jeweiligen USERNAME desjenigen auslesen der unter Windows98/2K ( in der Dmain )angemeldet ist.
Diesen Namen moechte ich dann in VBA (unter Access2000 ) weiterverarbeiten um Userspezifische Aktionen ausführen zu können!
Gruß
Andreas
Antwort 1 von _gau_
Hi,
für WinNT/2K/XP ist das ziemlich leicht, denn da gibt es die Umgebungsvariable USERNAME. Die kann man mit der Funktion Environ({envstring}) auslesen, z.B.
Sub Useranzeige()
MsgBox "Angemeldeter Nutzer: " & Environ("USERNAME")
End Sub
Für Win9x müßte man sich etwas anderes überlegen (Windows API-Funktionen?)
[gau]
für WinNT/2K/XP ist das ziemlich leicht, denn da gibt es die Umgebungsvariable USERNAME. Die kann man mit der Funktion Environ({envstring}) auslesen, z.B.
Sub Useranzeige()
MsgBox "Angemeldeter Nutzer: " & Environ("USERNAME")
End Sub
Für Win9x müßte man sich etwas anderes überlegen (Windows API-Funktionen?)
[gau]
Antwort 2 von _gau_
Hier eine Lösung, die mit jedem 32Bit-Windows funktionieren sollte (Nutzung der API-Funktion "GetUserNameA" aus der advapi32.dll)
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Public Function WinUser() As String
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
WinUser = Left(Buffer, BuffLen - 1)
End Function
Die neue Access-Funktion "WinUser()" kann dann wie jede andere genutzt werden, z.B. entsprechend oben:
Sub Useranzeige()
MsgBox "Angemeldeter Nutzer: " & WinUser()
End Sub
Tip: Kann genauso in Word, Excel, ... genutzt werden.
[gau]
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Public Function WinUser() As String
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
WinUser = Left(Buffer, BuffLen - 1)
End Function
Die neue Access-Funktion "WinUser()" kann dann wie jede andere genutzt werden, z.B. entsprechend oben:
Sub Useranzeige()
MsgBox "Angemeldeter Nutzer: " & WinUser()
End Sub
Tip: Kann genauso in Word, Excel, ... genutzt werden.
[gau]
Antwort 3 von Andreas_61
Super, danke für die schnelle Hilfe
Beide Versionen funktionieren unter W2K,
unter W95 noch nicht getestet.
Gruß
Andreas
Beide Versionen funktionieren unter W2K,
unter W95 noch nicht getestet.
Gruß
Andreas