Visualizar botón según condición en formulario

No sé porqué no me funciona este código

Private Sub Form_Current()
If Trim([estado encargo]) = "pendiente" Then
Me.Imagen10.Visible = True
Else
Me.Imagen10.Visible = False
End If
End Sub

lo que intento es que si se cumple dicha condición me visualice la imagen 

2 respuestas

Respuesta
1

Seria interesante verificar el contenido de ese cuadro de ese objeto del formulario que se supone es un cuadro de texto, para ello añadiría una línea al inicio de la sub-función y publicaría el resultado:

Private Sub Form_Current()
MsgBox Me.[estado encargo]
.....

Como alternativa para visualizar la imagen, una sola línea:

Me.Imagen10.Visible = Trim([estado encargo]) = "pendiente" 

Utilizar TRIM (que elimina los espacios que existan al principio y final) levanta sospechas sobre el contenido real del cuadro de texto.

Una acotación, si el formulario es continuo y el objeto imagen independiente, se visualizara en todos los registros con el mismo valor que tenga el registro activo

Pues entonces no sé si me vale, es un formulario continuo y lo que quiero que solo aparezca la imagen en aquellas líneas que pone pendiente

Private Sub Form_Current()

Me.Imagen10.Visible = Trim([estado encargo]) = "pendiente"
End Sub

Es el problema que presentan (en los formularios continuos) los objetos independientes.

Hay alternativas, por ejemplo:

Utilizar una consulta como origen de datos (se presupone que actualmente el origen de datos es una tabla o consulta) y añadir un campo que evalúe el estado.

Eso devolverá un campo (ficticio) independiente registro a registro que sirva como bandera o testigo para visualizar registro a registro su estado, puede ser algo así (en la consulta):

Mostrar: [estado encargo] = "pendiente"

Ese resultado se puede utilizar como testigo para el formato condicional, pero no vale para imágenes solo cuadros de texto (pero se le puede cambiar el fondo, texto, color ...)

Respuesta
1

Pruebe con este código

 Private Sub Form_Current()
    Me.[estado encargo].SetFocus
    If Me.[estado encargo].Text = "pendiente" Then
     Me.Imagen10.Visible = True
    Else
     Me.Imagen10.Visible = False
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas