当我在交替会话中执行我的 Access 应用程序时,该函数Environ("username")
返回我部门中一个人的用户名,而不是我当前用来执行代码的实际用户的用户名。
在整个程序中不会发生其他类型的用户名操作。
知道这怎么可能吗?
这使用 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