Oracle - Forms.Como llevar el cursor a un item

 
Vista:

Forms.Como llevar el cursor a un item

Publicado por ELIA (43 intervenciones) el 13/06/2003 10:13:42
Es posible, poder llevar el cursor a un Item determinado, en el disparador de otro Item? el caso es que hago una validacion en este disparador que comprueba , entre otras cosas q uno de los item del Form esté relleno, en caso contrario, quiero q el cursor se posicione en este item para q sea rellenado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Forms.Como llevar el cursor a un item

Publicado por ELIA (43 intervenciones) el 13/06/2003 11:53:24
Nota, revisando otras respuesta, he encontrado una del amigo BYRON que me servía, pero intentandolo me ha fallado, he colocado un GO_ITEM('Bloque.Item'); como indicaba Byron, pero se produce el siguiente error,
Frm-40737 : Procedimiento restringido GO_ITEM no válido en disparador POST-TEXT-ITEM.

Lo pongo en este disparador porq necesito comprobarlo despues de actualizar este item.

Es el primer formulario q hago y estoy todavía bastante verde.
Muchas gracias a todos y especialmente a Byron, por sus respuestas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Forms.Como llevar el cursor a un item

Publicado por Byron (300 intervenciones) el 13/06/2003 16:57:11
Puedes probar lo siguiente, usa el evento when-validate-item, este se ejecuta siempre que tu quieras salir de un item, es decir, el cursor no sale del item mientras no lo haya validado, en este caso dentro de este evento programamos la validacion que tu requieras, si la validación se va por caso contrario tipeas raise form_trigger_failure y con eso detienes la ejecución de los demás eventos y el cursor no sale del item, en este evento tampoco puedes hacer go_item.

Si este no es tu caso, puedes programar el evento a nivel de forma pre-commit, donde pones la validacion en la que preguntas si el campo esta lleno o no, si no esta lleno haces go_item (aqui si permite) y lanzas el raise form_trigger_failure para detener la accion de commit indicando que no puede seguir con el proceso de grabacion mientras no haya llenado ese campo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Forms.Como llevar el cursor a un item

Publicado por Gilberto (119 intervenciones) el 14/06/2003 03:03:12
Porque no haces lo siguiente:
En el item que quieres ejecutar el trigger, crea un disparador que se llama KEY-NEXT-ITEM.
EJEMPLO:
Para que hagas una prueba crea una forma nueva, en el canvas coloca 3 items (campo1, campo2, campo3).
En el item campo1 crea el disparador KEY-NEXT-ITEM y en el coloca el siguiente codigo:

BEGIN
IF :BLOCK.CAMPO3 IS NOT NULL THEN
NEXT_ITEM;
ELSE
MESSAGE('DEBE INGRESAR UN DATO EN CAMPO3');
MESSAGE('DEBE INGRESAR UN DATO EN CAMPO3');
GO_ITEM('CAMPO3');
END IF;
END;

Correlo y coloca cualquier dato en el campo1, cuando des enter veras que te da el mensaje y te envia al campo3, coloca un dato en campo3 y da otro enter, te envia a campo1, da otro enter y como campo3 ya tiene datos te envia a campo2.
pruebalo y me avisas que tal?
NOTA: EN EL KEY-NEXT-ITEM, TIENES QUE COLOCAR NEXT_ITEM CUANDO SE CUMPLA LA CONDICION SINO NO PODRAS SALIR DE EL.

gilh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ADEMAS........

Publicado por Gilberto (119 intervenciones) el 14/06/2003 03:12:27
Cuando estes en el campo3, colocale tambien un KEY-NEXT-ITEM con el siguiente codigo:

IF :BLOCK.CAMPO3 IS NOT NULL THEN
NEXT_ITEM;
ELSE
MESSAGE('DEBE INGRESAR UN DATO EN ESTE CAMPO');
MESSAGE('DEBE INGRESAR UN DATO EN ESTE CAMPO');
END IF;

Ya que si el usuario al enviarlo a este campo puede dar otro enter y salirse sin ingresar los datos, en cambio con esto le exiges un dato, aqui puedes mejorarlo con condiciones para que coloquen datos que sean reales, etc.
OK, Salu2

gilh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Forms.Como llevar el cursor a un item

Publicado por ELIA (43 intervenciones) el 16/06/2003 09:03:05
Muchas gracias chicos , vuestras respuestas me han servido perfectamente, aunque eran dos planteamientos diferentes, las dos me han enseñado algo. Finalmente me he quedado, con la de Gilberto, pero la de Byron seguro que tambien la tendré que poner en práctica en breve. Muchas gracias a los dos, y no me despido hasta muy tarde porq seguro q sin tardar mucho, tendré q volver a requirir ayuda de este foro, es mi primer formulario en Forms y soy un mar de dudas.

Muchas gracias a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar