Imprimir página | Cerrar ventana

Dlookup mostrar segundo registro

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84786
Fecha de impresión: 27/Marzo/2026 a las 02:09


Tema: Dlookup mostrar segundo registro
Publicado por: Erick Gamer
Asunto: Dlookup mostrar segundo registro
Fecha de publicación: 31/Octubre/2019 a las 04:15
Hola buenas noches a tod@s,

Estoy usando la funcion Dlookup, para mostrar los datos correspondientes al usuario logueado en label.

Tengo dos detalles:
Uno:
lblLevel.Caption = DLookup("Level", "AdminUsers", "NetId = '" & Me.lblUser.Caption & "'")

El campo Level de la tabla AdminUsers, esta relacionada con la tabla AdminRoles donde la columna 1 es Id Autonumber y la columna 2 tiene el nivel de usuario Admin, user, public etc.

En la tabla AdminUsers el campo Level muestro visualmente el Nivel de usuario dejando el Column Widths así 0;1.


Como puedo mostrar en el Label lblLevel el texto Admin, User, Public segun sea el usuario logueado.

Dos:
lblName.Caption = DLookup("[LastName] & [FirstName]", "AdminUsers", "NetId = '" & Me.lblUser.Caption & "'")
Tengo concatenados los campos LastName y FirstName, como puedo poner un separador algo asi:
LastName, FirstName

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.



Respuestas:
Publicado por: mounir
Fecha de publicación: 31/Octubre/2019 a las 11:37
Hola!

http://www.mvp-access.com/foro/dlookup_topic84775.html" rel="nofollow - http://www.mvp-access.com/foro/dlookup_topic84775.html

-------------
Un Saludo.


Publicado por: Erick Gamer
Fecha de publicación: 31/Octubre/2019 a las 23:10
Punto dos solucionado.

Para el punto numero 1 explicare con mas detalle.

Tabla AdminRoles con:

IdLevel, UserLevel y demas columnas

Tabla AdminUsers con:
Id, NetId, Password, FirstName, LastName, Level

Raeation Ship:
https://postimages.org/" rel="nofollow"> https://postimages.org/" rel="nofollow - image hosters

Quiero mostrar el nivel del usuario, Admin, User etc. en un label, pero al tener el campo Level con un Lookup relacionado, me toma el valor del Id y no el texto.

En el diseño de la tabla AdminUsers tengo la columna Level así: 0,1 mostrandose visualmente el texto y no el valor ID 1 o 2.
https://postimages.org/" rel="nofollow">
Entonces no se si es posible mostrar en Nivel del usuario en vez del valor ID.

lblLevel.Caption = DLookup("UserLevel", "AdminRoles", "NetId = '" & Me.lblUser.Caption & "'")

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.


Publicado por: rokoko
Fecha de publicación: 01/Noviembre/2019 a las 09:30
No se si se puede lo que quieres, pero se le puede dar la vuelta

If lblLevel.Caption = DLookup("UserLevel", "AdminRoles", "NetId = '" & Me.lblUser.Caption & "'") = 0 then
Me.lblLevel.Caption ="Admin"
Else
Me.lblLevel.Caption ="User"
End if



Publicado por: xavi
Fecha de publicación: 01/Noviembre/2019 a las 10:57
Un doble Dlookup, no?

Me!lblLevel.Caption = DLookup("UserLevel", "AdminRoles", "IdLevel=" & DLookup("Level", "AdminUsers", "NetId = '" & Me!lblUser.Caption  "'"))




-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Erick Gamer
Fecha de publicación: 02/Noviembre/2019 a las 04:20
Thumbs Up
Gracias!!!! Solucionado mounir, rokoko, xavi.

Ambas funcionan, me quede con esta:
If lblLevel.Caption = DLookup("Level", "AdminUsers", "NetId = '" & Me.lblUser.Caption & "'") = 0 Then
Me.lblLevel.Caption = "Admin"
Else
Me.lblLevel.Caption = "User"
End If

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.


Publicado por: xavi
Fecha de publicación: 02/Noviembre/2019 a las 09:56
Sin ánimo de ofender....

Si 0 es Admin y 1 es User... ¿para que quieres una tabla?

Si son valores fijos tienes otras alternativas.

Utilizando Choose:
lblLevel.Caption = Choose(DLookup("Level", "AdminUsers", "NetId = '" & Me!lblUser.Caption  "'"), "Admin", "User")

Utilizando Switch:

intLevel = DLookup("Level", "AdminUsers", "NetId = '" & Me!lblUser.Caption  "'")

lblLevel.Caption = Switch(intLevel=1, "Admin",intLevel= 2,"User")

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Erick Gamer
Fecha de publicación: 02/Noviembre/2019 a las 23:33
Buena pregunta xavi,

Bueno al momento tengo solo dos tipos de usuario Admin y user.

La idea en general es tener tres o cuatro tipos de usuario 0,1,2,3,4 que aun no defino de momento solo tengo estos dos, dentro de la tabla AdminRoles tengo agregados los nombres de los botones con la propiedad Si/No de aquí en base al rol de usuario pasar el argumento al botón y evaluar si tiene o no acceso.

Es si lo que tengo que diseñar es una gestión de usuarios, quisiera hacerlo mediante los nombres de formularios, pero creo es mas complejo. 

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.


Publicado por: Erick Gamer
Fecha de publicación: 14/Noviembre/2019 a las 22:39
Pueden cerrar este hilo, gracias!!!!!

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.


Publicado por: Erick Gamer
Fecha de publicación: 19/Noviembre/2019 a las 19:48
Algun Administrador que pueda cerrar este hilo?

Muchas Gracias!!!!!


-------------
Aprendiz de todos, maestro de nadie.



Imprimir página | Cerrar ventana