Add this code to a module, then in the query call: getUserID()
Code:
Option Compare Database
Public Const C_STARTCOUNT As Integer = 1001
Public Const C_MIN_LIST_HEIGHT As Integer = 3675
Public Const C_MAX_LIST_HEIGHT As Integer = 4210
Public Const MAX_PATH = 260
Public Const CSIDL_FLAG_MASK = &HFF00 'mask for all possible flag values
Public Const SHGFP_TYPE_CURRENT = &H0 'current value for user, verify it exists
Public Const SHGFP_TYPE_DEFAULT = &H1
Public Const S_OK = 0
Public Const S_FALSE = 1
Public Const E_INVALIDARG = &H80070057 ' Invalid CSIDL Value
'Use the GetUserName API function.
Public Declare Function SHGetFolderPath Lib "shfolder" Alias "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
Public Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
' Return the user's name.
Public Function getUserID() As String
Dim sBuffer As String * 255
Dim sName As String
sBuffer = Space(255)
Call WNetGetUserA(vbNullString, sBuffer, 255&)
sName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
If Len(sName) Then
getUserID = LCase$(sName)
Else
getUserID = "<Unknown>"
End If
End Function