Rellenar campos según la condición de otro campo

Tengo una formulario con tres estados (usando un cuadro combinado) este es seleccionado por los usuarios, pero quiero que ahora este cambio sea automático porque siempre se equivocan, y el cambio de estado depende de tres campos de fechas, en los dos primeros lo que hice fue introducir este código:

If FECHA_DE_ENTRADA = True Then
Me.Cuadro_combinado_ESTADO = "1"
Else
Me.Cuadro_combinado_ESTADO = "2"
End If

En el evento al cambiar

Perfecto hasta aquí trabaja bien, el problema se me presenta en el tercer campo fecha, de nombre Fechadelaasignacion, cuando hago lo mismo que en los anteriores no trabaja y es que el meollo es que este campo se encuentra en un subformulario incrustado en el formulario donde esta el cuadro combinado a cambiar de estado; así que supongo que por tratarse de un subformulario el código debe cambiar pero no se como.

Respuesta
1

Tu explicación resulta un poco confusa y no puedo contestarte directamente sobre tu caso. Lo que sí puedo hacer es explicarte cómo se llama a un campo o control de un subformulario.

La expresión que debes utilizar es:

Forms!NombreForm.NombreSubForm.Form.NombreControl.Propiedad

Si el código está asociado al módulo del propio formulario de trabajo lo puedes simplificar por

Me.NombreSubFrom.Form.NombreControl.Propiedad.

Por ejemplo, si tu formulario se llama "FDatos", tu subformulario se llama "subFormEstados" y el control o campo se llama "miCampo", la llamada a la propiedad Value de ese control sería:

Forms!FDatos.subFormEstados.Form.miCampo.Value = <valor que quieras establecer>

o también, si es aplicable la simplificación:

Me.subFormEstados.Form.miCampo.Value = <valor>

A ver si con esto puedes arreglarlo.

Ya me dirás.

Gracias, al final me aclaraste otras dudas adicionales que tenia y el problema resolví así:

Private Sub FECHADELAASIGNACIÓN_Change()
If FECHADELAASIGNACIÓN = True Then
Me.Parent.CuadrocombinadoESTADO = "1"
Else
Me.Parent.CuadrocombinadoESTADO = "2"
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas