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 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,
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.
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
Enviar un comentario
Últimas publicaciones
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
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.