Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    avril 2005
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : avril 2005
    Messages : 127
    Points : 18
    Points
    18

    Par défaut Requete dynamique sous Apex

    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ée est défini par l'utilisateur.

    J'ai essayé simplement en utilisant cette requête:

    Code :
    1
    2
    3
    4
    SELECT recence d, recence r
    FROM :P_TABLE
    GROUP BY recence
    ORDER BY 1
    _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.

  2. #2
    Inactif
    Homme Profil pro François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 12 108
    Points
    12 108

    Par défaut

    Je ne pense pas que tu puisses utiliser du SQL dynamique pour alimenter un item de type radio-button.

    Néanmoins, tu peux avoir un contournement assez simple :

    - utiliser un select static qui "tappe" dans une APEX_COLLECTION.
    - alimenter cette collection via du SQL dynamique lors du chargement de la page.

    Par exemple, créer un process "before header" qui va alimenter la collection avec ce genre de code :

    Code :
    1
    2
    3
    4
    5
    6
    7
    begin
      APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY(
            P_COLLECTION_NAME => 'RB_TEST'
            P_QUERY => 'select recence d, recence r from ' || 
                                     :P_TABLE || 
                                     ' order by 1');    
    end;
    puis utiliser le SQL suivant dans la requête d'alimentation des radio-buttons :

    Code :
    1
    2
    3
    SELECT C001 display_value, C002 return_value 
    FROM APEX_COLLECTIONS 
    WHERE collection_name = 'RB_TEST'
    Et ça marche (si l'item P_TABLE est bien alimenté au moment du process, cela va de soit).

    Bien entendu, penser à détruire la collection si elle existe avant d'appeler le CREATE_COLLECTION_FROM_QUERY

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •