Como no mostrar un subformulario access según condición

Tengo un formulario llamado form1 y un subformulario form2 ambos tienen un campo común denominado Colectivo. Lo que necesito hacer y no consigo que me salga es que cuando en el form1 el campo Colectivo sea igual a 1 (numérico) los campos del subformulario form2 estén activos pero si es distinto a 1 los campos salgan desactivados.

1 respuesta

Respuesta
1

Lo que no dices es si el 1 lo escribes tu o ya está activar ese registro.

Vamos a suponer que que lo escribes tu y que el subformulario se llama DetalleCompra. En el evento Después de actualizar del cuadro de texto o control donde escribas el número, crea un procedimiento de evento y pones

Private Sub Texto20_AfterUpdate()
If Texto20 <> 1 Then
DetalleCompra.Enabled = False
Else
DetalleCompra.Enabled = True
End If
End Sub

Vamos a suponer que el número ya está en el control cuando "vas" a ese registro. Entonces debes ponerlo en el evento Al activar el registro del formulario.

En primer lugar muchísimas gracias, funciona perfectamente. Aprovechándome de tu amabilidad te pregunto, ¿existe la posibilidad de que todos los valores del subformulario aparecieran inactivos? Comentare que el formulario se llama BS_CHEQUEO_SOLICITUDES y el subformulario BS_DATOS_EXPEDIENTES. Muchísimas gracias

Puedes hacerlo de varias formas, pero antes te convendría decidir, si quieres que estén bloqueados, inhabilitados o no visibles y si lo que quieres es bloquear, etc todo el subformulario o sólo los controles. Vamos a suponer que quieres que estén bloqueados sólo los controles( o alguno en particular)

If texto20<>1 then

BS_DATOS_EXPEDIENTE.form!nombrecliente.locked=true

BS_DATOS_EXPEDIENTE.form!direccion.locked=true

etc

end if

Es decir haces referencia a un control que está en un objeto subformulario

Preferiría inhabilitado. Gracias

... Todo el subformulario

Pues es la primera instrucción que te puse

If colectivo<>1 then

BS_DATOS_EXPEDIENTE.enabled=false

else

BS_DATOS_EXPEDIENTE.enabled=true

end if

Y por si te desplazaras por los registros sería necesario que pusieras exactamente la misma instrucción en el evento Al activar el registro del formulario

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas