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

abril 2024
LMXJVSD
1234567
891011121314
15161718192021
22232425262728
2930 

Debates en el foro

Avatar
Buscar Datos en Columnas
Avatar
Formularios con ADO

Contacto