Ocultar celda en formulario access según valor de otra celda

Tengo un formulario llamado FormularioInicio, estoy intentando a través de este código que si se cumple la condición que el campo Texto0 sea igual al valor indicado, la celda tbl_Agentes sea visible y activo y si no cumple la condición no esté activo. ¿Qué estoy haciendo mal?

Gracias.

Private Sub Form_AfterUpdate()
If Texto0 = "can2813407" Or Texto0 = "ib3891364" Then
Me.tbl_Agentes.Visible = True

ElseIf Texto0 <> "can2813407" and Texto0 <> "ib3891364" Then
Me.tbl_Agentes.Visible = False

End If
End Sub

2 respuestas

Respuesta
1

Javier, mira en que evento lo has puesto. Todavía no has actualizado el formulario.

Si lo de "can..." o "ib.." lo escribes, tendrás que ponerlo en el evento Después de actualizar del cuadro de texto Texto0. Por el contrario, si los valores ya están puestos y lo que quieres es que cuando te desplaces por los registros, si hay alguno de esos valores Tbl agentes esté bloqueado o inhabilitado, puedes ponerlo en el evento Al activare registro

If texto0="can..." or texto0="ib..." then

tbl_agentes.visible=true

else

tbl_agentes.visible=false

end if

Pero para joderlos, puedes dejar que lo vean pero que no puedan hacer nada. Por ejemplo

If texto0="can..." or texto0="ib..." then

tbl-agentes.enabled=true

else

tbl_agentes.enabled=false

end if

o también

tbl-agentes.locked=false

else

tbl-agentes.locked=true

Si pones una imagen, quizá sería mejor

No consigo que me funcione. Pongo el Evento en Después de Actualizar en el campo (Texto14) indicado pero no me funciona. No sé que estoy haciendo mal

ndo mal

¿Has comprobado si el control Tbl_Agentes se llama realmente así. Mira en sus propiedades-Otras-Nombre. Verás, yo voy a decirle que en función de lo que ponga en texto14 me habilite o no el combinado Elegir. Si tengo el formulario

Donde puedes ver que el combinado Elegir si funciona. Si ahora escribo una de las palabras

Cuando pulso Enter, el combinado sigue funcionando( sería lo mismo que decirle que fuera visible)

Por el contrario si escribo otra palabra

Cuando pulso Enter

Me ha deshabilitado el combinado( que sería lo mismo que decirle que no se viera). En este caso, en el evento Después de actualizar del cuadro de texto Texto14 le tengo puesto

Private Sub Texto14_AfterUpdate()
If Texto14 = "can2813407" Or Texto14 = "ib34567" Then
Elegir.Enabled = True
Else
Elegir.Enabled = False
End If
End Sub

La línea elseif sobra porque la palabra else( aunque alguno no se ha enterado) ya significa que si no se cumple lo anterior, o sea, no es igual a Can... o no es igual a Ib... entonces haz...

Respuesta
1

Pruebe con este código:

Private Sub Form_Current()
     If Texto0 = "can2813407" Or Texto0 = "ib3891364" Then
       Me.tbl_Agentes.Visible = True
    ElseIf Texto0 <> "can2813407" And Texto0 <> "ib3891364" Then
       Me.tbl_Agentes.Visible = False
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas