Acceso a otro Formulario en función del valor de un campo.

Tengo un Formulario  Principal:[INICIOprograma] que un Campo:[ABIERTOS] recoge el valor de una suma de una tabla al abrirlo.

El Formulario principal tiene otro subformulario:[ESTADOEQUIPOS] donde lee los datos de una tabla donde son sumados los importes.

Lo que necesito es que ese Campo:[ABIERTOS] si es diferente a CERO me abra otro Formulario de forma automática.

Lo que no se es donde he de colocar el evento para que cumpla la función de la Apertura del nuevo Programa :[PROGRAMASABIERTOS] en cuanto el Campo:[ABIERTOS]  sea diferente a Cero.

2 respuestas

Respuesta
2

Lo puedes poner en el evento Al activar el registro

If abiertos>0 then

DoCmd.OpenForm "programasabiertos", , , , , acDialog

else

....

end if

Respuesta
2

Recomendaría el evento LOAD del formulario, el evento Current re repite cada cambio de registro, el evento Open solo una vez (pero sin datos) y el Load solo una vez (tal el se ejecuta también el Current pues finaliza 'entrando al registro') pero ya se dispone de datos para evaluar.

Los pasos (eventos) que se generan al abrir un formulario son:
Open >>> creación del entorno
Load >>> la carga de datos (el subformulario 'es un dato mas' a cargar)
Current >>> se repite con cada cambio de registro al navegar

La primera vez se generan y en este orden: Open ==>> Load ==>> Current
A partir de este momento (la apertura ya finalizada) solo se repite el evento Current con cada cambio de registro, por lo que esa la evaluación (en el caso de un formulario con mas de un registro o no independiente) puede provocar efectos colaterales indeseados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas