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 18/06/2007, 08h46   #1
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Par défaut Conseil sur la façon de baser mon bloc.

Bonjour,

J'ai une table avec 4 colonnes et les lignes suivantes :

Art1 - Org3 - Description - Spec1
Art1 - Org3 - Description - Spec2
Art1 - Org3 - Description - Spec3

Art1 - Org4 - Description - Spec1
Art1 - Org4 - Description - Spec2

Et je voudrais présenter mon bloc de façon tabulaire avec en ligne :

Art1 - Org3 - Description - Une liste déroulante avec Spec1/Spec2/Spec3
Art1 - Org4 - Description - Une liste déroulante avec Spec1/Spec2

Quelle est selon vous la meilleure façon de baser mon bloc ?

J'ai essayé de baser table sans afficher ni baser les champs Spec et après de constituer pour chaque ligne la liste déroulante des Spec, mais j'ai quand même chaque ligne de la table...

Merci.
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 15h50   #2
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Mon problème ne semble pas trop inspirer...

Je pense que du coup je vais baser cela sur une requête type
Code :
SELECT DISTINCT col1,col2,col3 FROM matable
puis refaire une interrogation en base pour remplir ma liste...
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 16h08   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Ben 1 jour c'est pas si long que ça..

Sous forms, tu peux pas faire de listes déroulantes différentes suivant les lignes du même bloc.
Comment tu veux faire ?
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 16h15   #4
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Ah zut 1 jour, désolé j'ai pas fait gaffe je croyais que ça faisait plus longtemps

Si je créé ma liste déroulante en non basée et que je fais un populate_list, cela devrait "le faire" ?!
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 17h38   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
C'est un champ d'un bloc liste.. il aura la même valeur pour toutes les lignes...
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 08h22   #6
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Citation:
Envoyé par McM
C'est un champ d'un bloc liste.. il aura la même valeur pour toutes les lignes...
Ah...

Je vais donc passer par une LOV. Je peux bien la moduler par instance de record ?
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 10h19   #7
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
La liste peut elle aussi être modulée en fonction de l'enregistrement (Create_Group_From_Query,Populate_List). Il faut simplement la regénérer à chaque When-New-Record-Instance.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 10h22   #8
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Si c'est un block multiligne, ça va bien marcher ?
Il me semble que tu peux sélectionner une liste (à la souris) et dans ce cas, le wnri n'est pas encore exécuté.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 10h27   #9
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Le WNRI sert justement à indiquer que l'enregistrement a changé. Il intervient avant tout trigger de niveau item.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 11h29   #10
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Ok, je vais donc tester tout cela.

Je vais déjà essayer de baser mon block sur la requête
Code :
SELECT DISTINCT col1,col2,col3 FROM matable
car je ne vois pas trop comment faire pour le moment.

Je part de cette aide
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 12h37   #11
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Tu fais comme ça et tu mets une lov avec comme requete
Code :
SELECT spec FROM FROM matable WHERE col1 = :bloc.col1 AND col2=:bloc.col2 AND col3 = :bloc.col3
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 14h05   #12
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Citation:
Envoyé par McM
Tu fais comme ça et tu mets une lov avec comme requete
Code :
SELECT spec FROM FROM matable WHERE col1 = :bloc.col1 AND col2=:bloc.col2 AND col3 = :bloc.col3
C'est exactement ce que je viens de faire et cela fonctionne à merveille !

Merci à tous pour vos réponses.
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 15h58   #13
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,
Citation:
Envoyé par McM
Si c'est un block multiligne, ça va bien marcher ?
Il me semble que tu peux sélectionner une liste (à la souris) et dans ce cas, le wnri n'est pas encore exécuté.
Pour remédier à ce problème, on rajoute le trigger WHEN-MOUSE-DOWN
Code :
1
2
3
4
5
6
 
IF :system.mode<>'ENTER-QUERY' THEN
    :GLOBAL.save_mouse_record := name_in('SYSTEM.MOUSE_RECORD');
    :GLOBAL.save_mouse_item := name_in('SYSTEM.MOUSE_ITEM');
    go_record(:GLOBAL.save_mouse_record )	;
end IF;
salim11 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 20h49.


 
 
 
 
Partenaires

Hébergement Web