problème avec la fonction Get_List_Element_Value

problème avec la fonction Get_List_Element_Value - SQL/NoSQL - Programmation

Marsh Posté le 18-07-2006 à 19:56:21    

 J'ai un problème avec ce code... je ne sais pas ce qui cloche :??: c'est surement lié à la fonction Get_List_Element_Value... bref j'ai une petite liste dept.sexe avec 2 choix possibles (femme avec 1 et homme avec 2) et j'aimerais qu'on m'affiche un message quand j'en fais un... voila mon code:
 
declare
n number;
BEGIN
n:= Get_List_Element_Count( 'dept.genre' ) ;
for i in 1..n loop
a:=Get_List_Element_Value('dept.genre',i  );
if i=1 then
message('femme');
else
message('homme');
end if;
end loop;
 
merci :)

Reply

Marsh Posté le 18-07-2006 à 19:56:21   

Reply

Marsh Posté le 19-07-2006 à 16:17:27    

c'est quoi le msg d'erreur que tu as ?
ce serait bien d'avoir le code des deux fonctions aussi...

Reply

Marsh Posté le 19-07-2006 à 17:42:32    

Ben ce n'est pas que j'ai un code d'erreur, c'est qu'il commence à m'afficher le premier message suivi du second...
Pour ce qui est des fonctions, ce sont des fonctions prédefinies sur Oracle, elles vont avec les items liste, donc pas besoin de code  ;)

Reply

Marsh Posté le 20-07-2006 à 11:21:06    

en fait ca me parait normal :
ta première fonction compte les elements de ta liste.
 
tu boucles sur tous les élements de ta liste avec un condition si c'est le premiere élément tu affiches "femme" sinon tu affiches "homme".
 
donc forcément pour une liste de 3 éléments tu vas avoir :
femme
homme
homme

Reply

Marsh Posté le 20-07-2006 à 11:25:51    

oui c'est vrai mais de toutes façons ce n'est pas cette fonction dont j'ai besoin puisque même sans boucle, ça ne marche pas vu que les conditions sur la fonction sont tjs vraies  :(  j'ai essayé ce code mais ça ne marche pas
 
begin
if Get_List_Element_Value('dept.genre',1)= '1' then
message('femme');
end if;
 
if  Get_List_Element_Value('dept.genre',2 )= '2' then
message('homme');
end if;
 
end;
 
alors même avec ce code, l'affichage est tjs femme homme  :(

Reply

Marsh Posté le 20-07-2006 à 12:04:42    

ben la c'est pareil, ta liste c'est  
1 =>  1 (femme)
2 =>  2 (homme)
 
ta fonction renvoie la valeur d'un element de la liste pour un index donné.
et ton code c'est  :
si valeur élément 1 = 1 (ce qui est tjs vrai) alors affiche "femme"
si valeur élément 2 = 2 (ce qui est tjs vrai) alors affiche "homme"
 
donc il t'affiche femme puis homme.
 
qu'est ce que tu veux faire exactement ? afficher une valeur selon l'élément de la liste sélectionnée ? car si c'est le cas tu utilises la mauvaise fonction (il devrait y avoir plutôt qq chose comme get...selected_value ou get...select_index)

Reply

Marsh Posté le 20-07-2006 à 13:03:35    

oui voila c'est ce que je voulais :D  
En fin de compte il suffisait d'un simple :BLOCK.ITEM pour pouvoir avoir les éléments selectionnés :) et moi qui me prenais la tête avec cette fonction...  
Grand grand merci  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed