Resultado de una consulta desde un módulo

Estoy intentando ocultar en el ribbon de Access algunos controles que he creado en función del usuario que se ha conectado.
Tengo una consulta (llamada "usuario_activo") para determinar cuál de los usuarios es el activo y a qué grupo de seguridad pertenece (codgrupo_seguridad).
Luego, en la propiedad getVisible, tengo este código:

Sub GetVisible(control As IRibbonControl, ByRef visible)
Select Case control.id
Case "grp_13", "tab_2", "grp_7"
visible = IIf(usuario_activo.codgrupo_seguridad = 1, True, False)

Case Else
visible = True
End Select
End Sub

Me da el siguiente error: "Se ha producido el error '424' en tiempo de ejecución. Se requiere un objeto"
Estoy convencido de que la referencia al resultado de la consulta no es correcta, pero no sé cómo hacerlo.

3 respuestas

Respuesta
1

Ya está solucionado.

Respuesta
1

Inténtalo cogiendo previamente el valor del usuario o tipo de usuario en una variable, antes de hacer la comparación, algo así:

Sub GetVisible(control As IRibbonControl, ByRef visible)
Dim elTipoUsuario as Integer
elTipoUsuario=Dlookup("codgrupo_seguridad","usuario_activo")
Select Case control.id
  Case "grp_13", "tab_2", "grp_7"
     visible = IIf(elTipoUsuario = 1, True, False)
  Case Else
     visible = True
End Select
End Sub

Eso suponiendo que tu consulta usuario_activo muestre siempre un solo registro, si no, tend´rias que ponerle un criterio al DLookup para que te busque el usuario correcto.

Muchísimas gracias.

Ha funcionado a la perfección. Como supones, la consulta usuario_activo sólo muestra un registro en todas las ocasiones.

Un cordial saludo.

Respuesta
1

Esto sucede por que no has definido el objeto con el cual vas a trabajar o manipular.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas