Dispongo de una base de datos multiusuario Access 2003. La base se encuentra en un servidor y soy su administrador. Necesitaría conocer que usuarios están conectados (fecha y hora) en tiempo real. ¿Alguien puede ayudar?
YO encontré hace tiempo este procedimiento que captura el usuario que ha iniciado la sesión en el PC 'USUARIO DE LA RED Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Const BIF_RETURNONLYFSDIRS = &H1 Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Function NetUser() As String ' Obtiene el nombre de usuario de red en el pc activo Dim cbusername As Long, username As String username = Space(256) cbusername = Len(username) If WNetGetUser(ByVal 0&, username, cbusername) = 0 Then NetUser = Left(username, InStr(username, Chr(0)) - 1) Else If GetUserName(username, cbusername) Then NetUser = Left(username, InStr(username, Chr(0)) - 1) Else NetUser = "" End If End If End Function Lo que hago después es declarar una variable global (que yo la he llamado "us") en la que guardo el identificador del usuario que ha iniciado la sesión en el pc y después hago con el lo que necesite. Identificar perfiles, dar o quitar accesos, guardar en una tabla el registro de sus actividades, etc. La función es Netuser(). yo pongo en mi caso us=netuser() Bueno creo que con eso te funcionara