Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2005, 12h22   #1
Membre actif
 
Inscription : mai 2004
Messages : 283
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 283
Points : 154
Points : 154
Envoyer un message via MSN à cosmos38240
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
cosmos38240 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 12h27   #2
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
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?
__________________
Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 12h31   #3
Membre actif
 
Inscription : mai 2004
Messages : 283
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 283
Points : 154
Points : 154
Envoyer un message via MSN à cosmos38240
Oui en effet le champ en question fait bien partie du where de la lov :

Code :
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

cosmos38240 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 12h40   #4
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
en général pour les "options" dans les where j'utilise le truc suivant :
Code :
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
__________________
Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 13h47   #5
Membre actif
 
Inscription : mai 2004
Messages : 283
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 283
Points : 154
Points : 154
Envoyer un message via MSN à cosmos38240
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é ...


cosmos38240 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 13h52   #6
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à 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...
__________________
Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h18   #7
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
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 )
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h33   #8
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à 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...



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?
__________________
Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h42   #9
Membre actif
 
Inscription : mai 2004
Messages : 283
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 283
Points : 154
Points : 154
Envoyer un message via MSN à cosmos38240
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
cosmos38240 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h48   #10
Membre actif
 
Inscription : mai 2004
Messages : 283
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 283
Points : 154
Points : 154
Envoyer un message via MSN à cosmos38240
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

cosmos38240 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h51   #11
Membre du Club
 
Inscription : août 2003
Messages : 75
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 75
Points : 42
Points : 42
Envoyer un message via ICQ à Aeternus Envoyer un message via AIM à Aeternus Envoyer un message via MSN à Aeternus Envoyer un message via Yahoo à Aeternus
Cool
__________________
Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.
Aeternus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2005, 14h53   #12
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h17.


 
 
 
 
Partenaires

Hébergement Web