IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

[Forms] Trigger lorsque la valeur d'un text item change


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut [Forms] Trigger lorsque la valeur d'un text item change
    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.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Par défaut
    WHEN-VALIDATE-ITEM
    Fires during the Validate the Item process. Specifically, it fires as the last part of item validation for items with the New or Changed validation status. Definition Level form, block, or item
    CDLT.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Citation Envoyé par taska
    WHEN-VALIDATE-ITEM
    Pas en voulant faire un GO_BLOCK qui est une procédure restreinte donc interdite dans ce genre de triggers.
    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)

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Par défaut
    OK . Autant pour moi ...

    Une solution : rajouter un text_item (pos 0,0,0,0) juste aprés le composant
    text item est modifiée par l'utilisateur
    et dans le trigger
    WHEN-NEW-ITEM-INSTANCE
    de ce nouveau text_item, placer le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    go_block('block1');
    execute_query;
    ce qui pemet entre autres de placer une clause sur le block de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_block_property ('block1',DEFAULT_WHERE,strText);
    CDLT.

  5. #5
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut
    J'avoue que je n'ai pas très bien compris !!

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    begin :parameter.p_changed := 'O'; end;
    BLOCK.WHEN-NEW-ITEM-INSTANCE (lors de chaque arrivée sur un item du block) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin IF :parameter.p_changed = 'O' 
    THEN :parameter.p_changed :='N';  GO_BLOCk'BLOC2');
    end;
    Le souci du
    rajouter un text_item (pos 0,0,0,0) juste aprés le composant
    c'est dansle cas du Block Liste (multiligne), tu peux valider un item en changeant de record. Et là, rien ne se fait.
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/07/2011, 12h39
  2. Calcul Stock Actuel mm lorsqu'une valeur est null
    Par priest69 dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2005, 18h58
  3. Mise en forme monétaire d'une valeur
    Par RobertDeNiroZ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/08/2005, 09h55
  4. [debutant] incrementer valeur champ input text
    Par ilood dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/07/2005, 13h21
  5. [Forms] Comment restreindre les valeurs d'une LOV
    Par popressay dans le forum Forms
    Réponses: 9
    Dernier message: 25/08/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo