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 :

[Forms9i] Record Group dynamique en mode query


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut [Forms9i] Record Group dynamique en mode query
    Bonjour,

    Je voudrais pouvoir changer de manière dynamique mon record group associé à une LOV lors d'un interrogation (mode query)

    Le when validate item ne fonctionne pas en mode query il me reste donc le when new item instance mais bon j'aimerai modifier mon RG uniquement lorsque je modifie la valeur d'un champ en mode query ...

    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    La valeur du champ que tu modifie fait elle partie de la query de la LOV? Est ce une des conditions WHERE par exemple?

    Ou s'agit il d'une toute autre query?

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    Oui en effet le champ en question fait bien partie du where de la lov :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    where d.des_rentity = 'UCOD' 
    AND cte_code = :b1.evt_class
    AND cte_org = NVL(:b1.evt_class_org, CTE_ORG)
    ...
    Mais par contre pour l'autre RG le champ n'est pas présent je ne peux créer la même requette c'est pour cela que je passe pas deux RG différents


  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    en général pour les "options" dans les where j'utilise le truc suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where (table.colonne = :block.variable OR :block.variable IS NULL)
    Ce qui fait que seulement si le champ est rempli cela utilise la clause where sinon ca affiche tout en passant cette clause là...

    Pour l'autre problème le RG doit quand meme renvoyer les memes champs pour remplir la lov sinon tu vas avoir un probleme de compatibilité entre la lov et le RG

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    En effet la solution habituelle est de faire un NVL(champ, valeurdef);
    Mais dans mon cas je ne veux pas de cela car les tables sont différentes.

    D'autre part les rg ramnènent les données sans problème de compatibilité car cest les mêmes en tête j'avais bien fait attention

    Je vais me resoudre à mettre un code de le when new item instance même si cela ne sera pas optimisé ...



  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    Et avec le Key-next-item comme trigger ca marche pas mieux? (Bon evidemment faut forcer les gens a utiliser la touche next-item...

  7. #7
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Citation Envoyé par Aeternus
    Et avec le Key-next-item comme trigger ca marche pas mieux? (Bon evidemment faut forcer les gens a utiliser la touche next-item...
    Le key-next-item se déclenche même si l'utilisateur n'a pas modifié le champ

    Ce que tu peux faire c'est stocker l'ancienne valeur de ton champ dans une variable dans le trigger pre-text-item par exemple et sur le post-text-item tester que la nouvelle valeur est différente de l'ancienne (ce qui revient à faire un when-validate-item )

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    Ha? Je pensais que le when-validate-item se declenchait tjs quand on sortait du champ, meme si on n'en modifiait pas la valeur...



    Sinon, une idée : je me disais que si la requete du RG dependait d'une valeur de son champ variable et qu'il devait choisir le RG a utiliser suivant cette variable, il pourrait faire un trigger KEY-LISTVAL sur le champ qui appelle la LOV et dedans définir les propriétés de sa LOV avec un test avant d'appeller la LOV proprement dites... non?

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    Que ce soit en when-validate-item ou post-text-item il ne se declenche pas en mode query ...

    C'est bien la tout mon problème

  10. #10
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    La technique du key-listval marche !!!! Merciiiiiiiiiiii

    En effet ce trigger est bien déclencher dans tous les cas en mode query ce qui me permet de manipuler le rg en dynamique thxxxx


  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    Cool

  12. #12
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Aeternus
    Ha? Je pensais que le when-validate-item se declenchait tjs quand on sortait du champ, meme si on n'en modifiait pas la valeur...
    Comme quoi Forms est malin, il sait qu'il n'a pas à vérifier la validité d'une donnée qui n'a pas changée

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

Discussions similaires

  1. Problème en mode query
    Par lamiaa84 dans le forum Oracle
    Réponses: 0
    Dernier message: 21/12/2010, 12h37
  2. [Forms 6i] : Ouverture form en mode Query Only
    Par gaultier dans le forum Forms
    Réponses: 8
    Dernier message: 02/06/2010, 09h57
  3. ajout d'un control dynamiquement en mode design
    Par Pol63 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/02/2008, 23h20
  4. Réponses: 11
    Dernier message: 16/09/2007, 19h25
  5. Réponses: 1
    Dernier message: 29/11/2005, 12h28

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