Habilitar botón de comando en función del valor de casilla de verificación en subformulario

Tenemos un formulario F_ComidaConvivencia" con un subformulario continuo "FC_MesasComida", dependiente de la tabla T_MesasComida, emparejado con el formulario principal por el campo "Expediente".

En el subformulario hay una casilla de verificación "MesaCerrada"

La idea es que cuando el valor de "MesaCerrada" sea =-1 en todos los registros del rango "Expediente" Se habilite un botón ubicado en el formulario principal.

¿Cómo lo puedo hacer?

2 respuestas

Respuesta
1

José María. Lo mejor sería una imagen, ya que, por ejemplo, en el evento Después de actualizar de la casilla MesaCerrada podrías poner un procedimiento de evento y Entre Private Sub... y End Sub poner

If mesacerrada=true then

me.parent!nombreboton.enabled=true

end if

Es decir, que si "marcas" la casilla MesaCerrada, se habilita el botón del formulario "padre". Pero como te decía, sería mejor una imagen.

Muchas gracias Julián. Tienes razón.  Tenia que haber subido una imagen del formulario.  de todas formas he seguido el método que me sugiere  Enrique,  con alguna modificación de mi cosecha,  y se adapta perfectamente a lo que buscaba.

Respuesta
1

Matemáticamente se cumplirá cuando la cuenta de registros que cumple las condiciones coincida con la suma del valor absoluto de los datos (que supuestamente han de ser 0 / -1 (False y True).

Una forma sencilla de lograrlo:

.- Se crean en el pie del subformulario dos cuadros de texto independientes

[LSuma] y [LCuenta]

Origen de datos de LSuma: = ABS(Sum([MesaCerrada]))

Origen  de datos de LCuenta: =Count(*)

En el evento 'después de actualizar' de 'MesaCerrada' (o el evento que se considere mas adecuado)

Private Sub MesaCerrada_AfterUpdate()
Parent.[botón-del-formulario-principal].Enabled = LSUMA = LCuenta
End Sub

Muchas gracias Enrique. Lo he puesto y me funciona perfectamente y es  muy fácil. De lo que se trata es de que la acción que buscamos se produzca al coincidir el valor de ambos campos. Lo he adaptado y va genial. GRACIAS AMIGO

Me alegra que se entendiera el concepto.

Las soluciones no exigen los cuadros de texto (simples intermediarios), se pueden comparar directamente sus orígenes y esta disponible la alternativa de utilizar el RecordsetClone del formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas