Le site des développeurs francophones APEX - Oracle Application Express
Vous n'êtes pas identifié(e).
Bienvenue sur le forum Oracle APEX
S'il s'agit de votre première visite, nous vous invitons à consulter la FAQ en cliquant sur le lien ci-dessous. Vous pouvez poster ici toutes vos questions sur l'installation, le développement (composants clients et serveurs), l'administration des instances Oracle APEX. Par ailleurs, ce forum diffuse les annonces et actualités relatives à Oracle APEX.
Oracle APEX 4.1
Oracle APEX 4.1 est disponible depuis le 24 août 2011.
Oracle APEX 4.0
Oracle APEX 4.0 est disponible depuis le 23 juin 2010. Il existe 2 distributions, une distribution en langue anglaise uniquement et une distribution multilingue.
Pages :: 1
Bonjour,
Je débute sous l'application Apex et je ne réussi pas à faire ce que je souhaite: créer un groupe de radio bouton à l'aide d'une requête dynamique.
En effet la table utilisé est défini par l'utilisateur.
J'ai essayé simplement en utilisant cette requête:
select recence d, recence r
from :P_TABLE
group by recence
order by 1
:P_TABLE représente l'item contenant le nom de la table.
Cependant cette requête n'est pas permise dans la création de la LOV.
Merci d'avance pour votre aide.
Hors ligne
Bonjour,
Pour créer un groupe de radio bouton dynamique, il faut lui associer une LOV dans laquelle tu définie une fonction qui te retourne le résultat de la requête.
Une LOV peut être définie de 2 manières
Exemple 1
select ename d, empno r from emp order by 1
Exemple 2
begin
return 'select ename d, empno r from emp order by 1';
end;
Il suffit de remplacer le 2ième exemple par ta fonction PL/SQL qui te retourne un select dynamique. Voici un exemple simple de fonction PL/SQL
D'abord, créons la fonction :
CREATE OR REPLACE FUNCTION GET_LIST
(
P_DEPT IN VARCHAR2)
RETURN NUMBER
IS
W NUMBER;
BEGIN
IF P_DEPT = 'Sales
THEN
RETURN 30;
ELSE
RETURN 10;
END IF;
END;
Ensuite, définissons, la LOV :
Dans la LOV, tu entres RETURN GET_LIST(:P1_DEPARTEMENT);
Hors ligne
Merci pour cette réponse mais le problème se situe sur le nom de la table qui est choisie dynamiquement.
J'ai cependant réussi à corriger le problème, il ne me reste plus qu'à réussir à identifier les valeurs sélectionnées par l'utilisateur dans la shuttle list.
Hors ligne
En passant par une fonction stockée pour créer ma liste je n'ai pas de problème :
CREATE OR REPLACE FUNCTION Creer_List(Champ VARCHAR2, Nom_Tab VARCHAR2) RETURN VARCHAR2 IS
Rq VARCHAR2(32000);
BEGIN
RETURN 'select '||champ||' d,'||champ||' r
from '||Nom_Tab||'
where '||champ||' is not null
group by '||champ||'
union
select '||chr(39)||'vide'||chr(39)||', '||chr(39)||'vide'||chr(39)||'
from dual
order by 1';
END;
/Hors ligne
Pages :: 1