Environ(“用户名”)返回错误的用户名

时间:2016-02-10 19:53:08

标签: vba ms-access environ

当我在交替会话中执行我的Access应用程序时,函数 Environ("username") 会返回我部门中某个人的用户名,而不是我当时正在使用的机器的实际用户执行代码。

整个程序中不会发生其他类型的用户名操作。

知道这有可能吗?

1 个答案:

答案 0 :(得分:0)

这使用Windows API函数返回当前登录用户的名称。

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


Function UserName() As String
    '// Returns the name of the logged-in user
    Dim Buffer As String * 100
    Dim BuffLen As Long
    BuffLen = 100
    GetUserName Buffer, BuffLen
    UserName = Left(Buffer, BuffLen - 1)
    'MsgBox UserName
End Function

Retrieving Logged-in User Name