Bloquear un botón en un formulario abierto pero sin foco

Estoy buscando la manera de que me bloquee un botón en un formulario que está abierto pero no con el foco, al realizar un evento en otro formulario abierto.

Ahora, visualmente. Tengo este formulario que veis en la imagen:

Como he resaltado, tengo un botón que, al pusarlo, debe bloquear/desbloquear un botón en el formulario Menú, que, como veis, está abierto.

He probado con DoCmd. SendObject, que vi como propuesta en una pregunta de TodoExpertos; y también enviar el foco al formulario Menú después de actualizar el botón del formulario activo.

1 respuesta

Respuesta
2

Diego has conseguido varias cosas, primero que me frote los ojos varias veces, que me limpie las gafas dos veces y que haya pensado multitud de ellas en que me duraba la resaca del sábado. Coño con la imagen.

Si tengo un formulario donde tengo el botón Marcar

Y abre el otro formulario, donde como no veo nada lo he puesto en el evento Al hacer clic de un botón

Al apretar el botón 52

El código del botón es

Private Sub Comando52_Click()
Forms!Clientes!Comando7.Enabled = False
End If
End Sub

Entonces, el problema no es de mi imagen, sino de tu resaca, jajajaja.

A ver, te puntualizo. El problema que el botón en cuestión que te pongo en la imagen lo que hace es actualizar un campo del registro activo en la tabla principal, que indica si el libro está en un estado, u otro. Entonces, si ese estado es uno determinado, debe ponerlo como bloqueado. ¿Me explico?

¡Gracias!

Gracias a dios no es la resaca esta es la imagen que has puesto y no veo nada, ni el botón ni nada de nada

De todas formas podrías poner el código en el evento Después de actualizar de ese cuadro, algo así como

If current.... then

if forms!clientes!nombredelcuadro de texto="lo que sea" then

No entiendo lo que quieres decir con if current, y su relación con el siguiente if que pones 

Este es el código que tengo ahora mismo para deshabilitar ese botón del menú:

Public Sub DeshabilitarBoton(FName As Form)
    If IsNull(DLookup("Estado", "TLibros", "[Estado]=" & 5)) Then
        FName.CmdBoton.Enabled = False
    Else
        FName.CmdBoton.Enabled = True
    End If
End Sub

Por lo que decías, no que lo viera porque no lo veo, querías que desde un formulario A te inhabilitara un botón de otro formulario B que está abierto. En ese caso, como te decía, tienes que usar la función Isloaded, es decir, que en caso de que el formulario B este abierto que haga...

Más o menos, en tu caso sería

If currentproject.allforms("nombredelformdondeestáelbotón").isloaded then

If isnull(dlookup("estado","tlibros","estado=5")) then

forms!nombredelformdondeestaelboton!cmdboton.enabled=false

end if

end if

..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas