|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
Bonsoir,
Je cherche le trigger qui me permettrait de déclencher un événement lorsque la valeur d'un text item est modifiée par l'utilisateur. L'événement que je souhaite déclencher est: go_block('block1'); execute_query; J'ai regardé la liste des triggers sur un tutoriel et rien ne correspond, je suis perdue, aidez-moi svp !!!!!!! Merci d'avance.
__________________
Rien ne sert de courir, il faut partir à point. |
|
|
00
|
|
|
#2 | |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 349 ![]() |
WHEN-VALIDATE-ITEM
Citation:
|
|
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Citation:
Personnellement, je m'en sors souvent avec les triggers : - WHEN-NEW-ITEM-INSTANCE - WHEN-TIMER-EXPIRED (et création d'un timer bien sûr) - WHEN-BUTTON-PRESSED (en déplaçant le traitement dans un bouton)
__________________
Modérateur des forums Oracle et Langage SQL Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum |
|
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 349 ![]() |
OK . Autant pour moi ...
Une solution : rajouter un text_item (pos 0,0,0,0) juste aprés le composant Citation:
Citation:
Code :
set_block_property ('block1',DEFAULT_WHERE,strText); |
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
J'avoue que je n'ai pas très bien compris !!
__________________
Rien ne sert de courir, il faut partir à point. |
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Le GO_BLOCK est une procedure restreinte : Tu ne peux pas l'exécuter lorts d'une validation (WHEN-VALIDATE-XXXX)
Les seuls moyens : les WHEN-NEW- (et les timers, mais les timers en 3/3... ) Solution la plus blindée pour moi : Un trigger WHEN-NEW_ITEM_INSTANCE au niveau bloc qui ne fait le GO_BLOCK que si un paramètre forms est initialisé à 'O' Ce paramètre, tu l'initialises à 'O' lorsque tu modifies ton champ dans le WHEN-VALIDATE-ITEM Créer le PARAMETER.P_CHANGED VARCHAR2(1) BLOCK.Champ.when-validate-item (lors de la validation d'une modif du champ): Code :
begin :parameter.p_changed := 'O'; end; Code :
Citation:
De cette façon, si tu veux savoir sur quel record tu étais, il faut le sauvegarder dans des paramètres dans le WVI de ton champ |
|||
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() |
Pour la procédure restreinte, j'avais compris, c'est pour cela que je vous ai précisé dès le début que je voulais faire un go_block, par contre c'est la solution de "rajouter un text_item (pos 0,0,0,0) juste aprés le composant" que je n'avais pas comprise !
Ok je vais suivre vos explications McM et vous tiens au courant. Merci!
__________________
Rien ne sert de courir, il faut partir à point. |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() |
J'ai ajouté le trigger WHEN-VALIDATE-ITEM à mon champ texte et j'ai eu l'erreur suivante à l'affichage de la forme:
FRM-40202: Le champ doit être renseigné NB: Mon champ texte est alimenté par une liste de valeurs et c'est un champ obligatoire.
__________________
Rien ne sert de courir, il faut partir à point. |
|
|
00
|
|
|
#9 | |||
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 349 ![]() |
Citation:
J'utilise cette méthode lorsque je veux créer un filtre utilisateur pour renseigner la clause where d'un block2. block1 : une ligne - un text_item 'code_depot' - un text_item 'code_ste' - un text_item 'dummy' ( x=0,y=0,width=0,height=0) . block2 :bloc basé multi-ligne L'utilisateur saisit le code_depot, se déplace avec la touche TAB sur le code_ste puis se déplace toujours avec TAB sur l'item dummy. Sur le WHEN-NEW-ITEM-INSTANCE de l'item dummy, je construis alors la clause WHERE qui tient compte des valeurs code_depot et code_ste puis je lance l'interrogation du block2 Code :
|
|||
|
|
00
|
|
|
#10 | |
|
Membre du Club
![]() |
Finalement, la solution retenue est comme suit:
Définir le déclencheur KEY-LISTVAL à mon text-item (car le text-item est rattaché à une LOV): Citation:
__________________
Rien ne sert de courir, il faut partir à point. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com