Saber qué usuarios están conectados a una base de datos Access

Escrito por Administrador

10 de noviembre de 2022

Hoy os traigo un programita para poder saber qué usuarios están conectados a vuestra base de datos Access. Es algo muy sencillito, y que con un solo formulario y unas simples líneas de código vamos a lograr conocer.

A continuación os muestro el código necesario,

Option Compare Database
Option Explicit

Const adhcUsers = "{947bb102-5d43-11d1-bdbf-00c04fb92675}"
Const adhcAllowUsers = "Permitir nuevos usuarios"
Const adhcDisallowUsers = "Bloquear nuevos usuarios"

Private Sub Form_Load()

'Guardamos el intervalo de refresco seleccionado en la variable TimerInterval (en milisegundos)

Me.TimerInterval = Me!txtRefresh * 1000

'Llamamos a la funcion Listadeusuarios

Call Listadeusuarios

'Comprobamos si están o no permitidos nuevos usuarios y ajustamos el texto del botón que corresponda

If CurrentProject.Connection.Properties("Jet OLEDB:Connection Control") = 2 Then

cmdShutdown.Caption = adhcDisallowUsers

Else

cmdShutdown.Caption = adhcAllowUsers

End If

End Sub

La función que elabora el listado de usuarios es la siguiente,

Sub Listadeusuarios()

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim intUser As Integer
Dim strUser As String
Dim varVal As Variant

'Elegimos los nombres de los encabezados de las columnas de la tabla del formulario

strUser = "Equipo;Usuario;¿Conectado?"

'Creamos la tabla de usuarios conectados a la BBDD

Set cnn = CurrentProject.Connection
Set rst = cnn.OpenSchema(Schema:=adSchemaProviderSpecific, SchemaId:=adhcUsers)

With rst

Do Until .EOF

intUser = intUser + 1

For Each fld In .Fields

varVal = fld.Value

If InStr(varVal, vbNullChar) > 0 Then

varVal = Left(varVal, _
InStr(varVal, vbNullChar) - 1)

End If

strUser = strUser & ";" & varVal

Next

.MoveNext

Loop

End With

txtUsers = intUser
lboUsers.RowSource = strUser
rst.Close

Set rst = Nothing
Set fld = Nothing
Set cnn = Nothing

End Sub

El resultado es un formulario que recoge el nombre de los equipos y usuarios que se encuentran conectados a nuestra base de datos, tal y como se muestra en la siguiente imagen.

saber-usuarios-conectados-base-datos

Espero que te haya servido este artículo para saber en todo momento qué usuarios se encuentran conectados a tu base de datos Access.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Si te ha servido y quieres donar





Descarga el archivo del ejemplo

2 Comentarios

  1. Avatar

    Hola, soy nuevo en VBA para access, pero si agrego un modulo y copio tu codigo me da varios errores, empezando por que no esta definido que es ME

    Responder
    • Avatar

      Hola John,

      Los campos, botones... de tu formulario tienen que tener el mismo nombre que los que aparecen en el código.

      Prueba a descargarte el ejemplo y trabaja sobre él.

      Si tienes problemas, abre un hilo en el foro y te echo una mano.

      Saludos.

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Últimas publicaciones

Categorías

mayo 2024
LMXJVSD
 12345
6789101112
13141516171819
20212223242526
2728293031 

Debates en el foro

Avatar
guardar imagenes en carpeta
Avatar
Necesito ayuda con un formulario
Avatar
Buscar Datos en Columnas

Contacto