Access - busqueda usuario inicio de sesion

 
Vista:

busqueda usuario inicio de sesion

Publicado por jotes (22 intervenciones) el 16/06/2006 10:48:57
BUenos dias, ¿es posible alguna consulta para en un campo introducir el nombre del usuario que ha iniciado la sesion en windows?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Obtener nombre de usuario de Windows en consulta

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 22:13:23
Lamentablemente, en una consulta de Access no es posible obtener directamente el nombre del usuario que ha iniciado sesión en Windows. Sin embargo, puedes utilizar código VBA para obtener esta información y luego utilizarla en tus consultas.

Aquí hay una solución que puedes aplicar para obtener el nombre de usuario de Windows y utilizarlo en tus consultas:

1. Abre el Editor de Visual Basic en Access presionando Alt + F11.
2. En el menú, selecciona "Insertar" y luego "Módulo" para crear un nuevo módulo.
3. En el nuevo módulo, ingresa el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Compare Database
Option Explicit
 
Private Declare PtrSafe Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
 
Public Function ObtenerNombreUsuarioWindows() As String
    Dim lpBuff As String * 25
    Dim ret As Long
 
    ret = GetUserName(lpBuff, 25)
    If ret <> 0 Then
        ObtenerNombreUsuarioWindows = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
    Else
        ObtenerNombreUsuarioWindows = ""
    End If
End Function

4. Guarda el módulo y cierra el Editor de Visual Basic.

Ahora puedes utilizar la función "ObtenerNombreUsuarioWindows()" en tus consultas de Access para obtener el nombre de usuario de Windows. Puedes hacerlo de la siguiente manera:

1
2
3
SELECT *
FROM TuTabla
WHERE Usuario = ObtenerNombreUsuarioWindows()

Reemplaza "TuTabla" con el nombre real de tu tabla y "Usuario" con el nombre del campo en el que deseas comparar el nombre de usuario de Windows.

Cada vez que ejecutes la consulta, se llamará a la función "ObtenerNombreUsuarioWindows()" y se comparará el nombre de usuario devuelto con el campo "Usuario" en la tabla.

Esta solución te permitirá obtener el nombre de usuario de Windows en tus consultas de Access. Puedes utilizar esta función en todas las consultas que necesites en el futuro.

¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar