If you use “CurrentUser()” you will as often as not get “Admin”, which is the default Access user.
To get the user’s windows authentication login name, place the following code at the top of a standard module:
Private Declare Function WNetGetUserA Lib "mpr.dll" _ (ByVal lpszLocalName As String, ByVal lpszUserName As String, lpcchBuffer As Long) As Long Public Function GetNetUser() As String Dim lpUserName As String, lpnLength As Long, lResult As Long 'Create a buffer lpUserName = String(256, Chr$(0)) 'Get the network user lResult = WNetGetUserA(vbNullString, lpUserName, 256) If lResult = 0 Then GetNetUser = Left$(lpUserName, InStr(1, lpUserName, Chr$(0)) - 1) Else GetNetUser = "-unknown-" End If End Function
It can be used in a query as GetNetUser() and in the control source of a text box on a form or report as =GetNetUser()