Hacer visible un control dependiendo del usuario ingresado

O buenas tardes por la diferencia de horario, partiendo de lo siguiente:

Private Sub Form_Load()
Dim Usuario As String
Dim Nombre As String
Usuario = DLookup("Nombre_Usuario", "Tabla_Usuarios", "Usuario = 'Iotero'")
Nombre = Iotero
If Nombre = Usuario Then
Me.Consulta_Cambios.Visible = True
End If
End Sub

¿me pueden ayudar con el siguiente error?

Tabla:Tabla_Usuarios

Campo:Nombre_Usuarios

1 respuesta

Respuesta
1

Ese error es que le estás pasando un parámetro incorrecto. ¿De qué tipo es el campo Usuario en la tabla?

Además, tienes otros errores, por ejemplo: Nombre = Iotero, tendría que ser:

Nombre = "Iotero"

Sveinbjorn El Rojo, gracias por responder, "usuario" es de tipo texto, en cuanto a las comillas, se las incluí y aun da el error.

Ponme una imagen del diseño de la tabla "Tabla_Usuarios", porque algo no me cuadra...

Lo de las comillas no te iba solucionar el error que te da, pero sí un mal funcionamiento cuando lo hubieras corregido...

Con gusto:

Y el nombre de la tabla es: Tabla_Usuarios

El error es que en la tabla no tienes un campo llamado "usuario", como le indicas en el tercer parámetro del DLookUp.

Además, el código que pones no tiene mucho sentido. Si lo que quieres es que el control sólo lo vea el usuario "Iotero", necesitas un formulario de acceso, una variable pública (o un formulario oculto) en el ue almacenes el usuario que se logueó en la BD, y luego hacer esta simple comprobación:

If varUsuario="Iotero" Then

Me.Consulta_Cambios.Visible = True
End If

Para lo del formulario de acceso y el formulario oculto, puedes ver los diversos ejemplo que tiene Neckkito en su web: Contraseña y control de acceso, formulario chivato...

Gracias por responder, pero ya los tengo:

Y de igual manera el formulario oculto, entonces solo comparo el valor del control en el formulario oculto, con el usuario que quiero que tenga acceso a ver el control?

Gracias por responder

Sí, simplemente haz esto:

If Forms("NombreFormOculto").NombreControlUsuario="Iotero" Then

Me.Consulta_Cambios.Visible = True
End If

¡Gracias! por tu tiempo Sveinbjorn El Rojo.

Saludos,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas