Problema con Menú de Lista

Tengo una lista "Menú" con varias opciones . Una de ellas es es la la Gestión de Contabilidad, a la que le he puesto una contraseña que solo se hace visible Cuando el usuario pone el foco en el Case "GESTION DE CONTABILIDAD",

Case "GESTION DE CONTABILIDAD"
Me.Contraseña.Visible = True
Me.Etiqueta69.Visible = True
Me.Cuadro70.Visible = True
Contraseña. SetFocus

Con este código, al poner el foco en esta opción "CASE", se hace visible el campo para introducir la contraseña. Hasta ahí todo correcto.

La idea es que si el usuario, una vez marcada esta opción, marcase otra opción distinta,, todo pase a estado no visible.

Imagino que habrá que añadir un if al perder el enfoque, pero no se el código.

¿Me pueden ayudar con esto?

Respuesta
1

Otra opción:

Supongamos que en tu cuadro de lista (que entiendo se llama "Menu"), tienes las opciones "GESTION DE CONTABILIDAD", "GESTION DE CLIENTES" y "GESTION DE PROVEEDORES"

En el evento "después de actualizar" o en "al hacer clic" (aunque este me gusta menos) del cuadro de lista, pones lo siguiente:

Private Sub Menu_AfterUpdate()
Select Case Me.Menu
  Case "GESTION DE CONTABILIDAD"
     Me.Contraseña.Visible = True
     Me.Etiqueta69.Visible = True
     Me.Cuadro70.Visible = True
     Me.Contraseña. SetFocus
  Case Else
     Me.Contraseña.Visible = False
     Me.Etiqueta69.Visible = False
     Me.Cuadro70.Visible = False
End Select
End Sub

De esta forma, al seleccionar la opción "gestion de contabilidad" te mostrará el cuadro de texto "Contraseña", la etiqueta "Etiqueta69" y el rectángulo "Cuadro70". Cuando selecciones otra opción, esos controles se volverán a "esconder". Aqui tienes un ejemplo: http://www.filebig.net/files/UxamjD4EQi 

Si quieres hacer cosas diferentes en función de la opción seleccionada, solo tendrías que añadir los Cases necesarios y además de lo que quieras que haga en cada caso, poner las lineas para ocultar esos controles, por ejemplo:

Private Sub Menu_AfterUpdate()
Select Case Me.Menu
  Case "GESTION DE CONTABILIDAD"
     Me.Contraseña.Visible = True
     Me.Etiqueta69.Visible = True
     Me.Cuadro70.Visible = True
     Me.Contraseña.SetFocus
  Case "GESTION DE CLIENTES"
     'por aqui lo que quieras hacer en este caso
     Me.Contraseña.Visible = False
     Me.Etiqueta69.Visible = False
     Me.Cuadro70.Visible = False
  Case "GESTION DE PROVEEDORES"
     'por aqui lo que quieras hacer en este otro caso
     Me.Contraseña.Visible = False
     Me.Etiqueta69.Visible = False
     Me.Cuadro70.Visible = False
End Select
End Sub

1 respuesta más de otro experto

Respuesta
1

Es sencillo. Supongamos que tengo un formulario con un cuadro de lista y un cuadro de texto TextoA oculto.

Si selecciono el Tres, que sería tu Gestion de contabilidad

Si ahora decido no hacer nada y pulsara, por ejemplo, el Dos

El código del evento Después de actualizar( ya que no sé como tienes construido las opciones de tu cuadro de lista) es

Private Sub Lista203_AfterUpdate()
Dim F As Byte
For F = 0 To Lista203.ListCount
If Lista203 = "Tres" Then
TextoA.Visible = True
Else
TextoA.Visible = False
End If
Next F
End Sub

Es decir, que si seleccionas el TRES te lo muestra, mientras que si seleccionas cualquier otro lo oculta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas