Ver usuarios conectados a una base de datos

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?
1

1 Respuesta

4.975 pts.
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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas