IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

Bloc basé sur une vue complexe


Sujet :

Forms Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 31
    Points
    31
    Par défaut Bloc basé sur une vue complexe
    Bonjour,

    J'ai un problème en faisant un EXECUTE_QUERY sur un bloc.
    Je précise mon problème : je dispose de 2 blocs dans ma form : un bloc de contrôle non basé où l'utilisateur saisit des critères (B_CTRL) et un bloc basé sur une vue "complexe" (c'est à dire une vue basée sur plusieurs tables) appelée B_V_F280A13.

    Le bloc de controle comprend un bouton qui déclenche le code suivant lorsqu'on clique dessus:

    set_block_property('B_V_F280A13',DEFAULT_WHERE,' '||vari);
    go_block('B_V_F280A13');
    Execute_query;

    vari est un chaine comprenant une clause where parfaitement correcte.

    J'obtiens le message d'erreur suivant:FRM-40505:Erreur Oracle:execution impossible de l'interrogation ORA-00942:table or view does not exist


    Quelqu'un a t-il un idée sur la cause du Pb?
    D'avance , Merci

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    1. pourquoi '' || vari ?
    2. il faudrait faire un output de vari, sinon, on travaille en aveugle.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 31
    Points
    31
    Par défaut
    J'ai mis un blanc dans le DEFAULT_WHERE mais je l'ai supprimé et ça ne change rien

    j'ai fait un output de VARI en ne remplissant q'un ITEM basé du bloc contôle appelé CAMP, message(vari) donne: WHERE CAMP='2008'

    En fait je crois qu'on ne peut pas faire de DEFAULT_WHERE lorsque le bloc est de type "interrogation de clause FROM"

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Et si vous retirez le mot clé WHERE ?

  5. #5
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Sinon, vous pouvez changer l'intégralité du data source name:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set_Block_Property('B_V_xxx', QUERY_DATA_SOURCE_NAME, 'Select ... Where ...' );

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 31
    Points
    31
    Par défaut
    Je viens de retirer le mot clé WHERE, le message devient CAMP='2008' et j'obtiens toujours ce même message d'erreur.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 31
    Points
    31
    Par défaut
    J'ai mis le code suivant, comme vous le préconisiez:

    <Set_Block_Property('B_V_F280A13', QUERY_DATA_SOURCE_NAME, 'Select * from V_F280A13' );>

    j'obtiens cette fois l'erreur suivante:ORA-00903 invalid table name

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Select * ne fonctionnera pas. Vous devez nommer les colonnes de telle sorte qu'elles s'ajustent avec les items de votre bloc.

  9. #9
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Attention, faut mettre la requete entre () sinon il y aura une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set_Block_Property('B_V_xxx', QUERY_DATA_SOURCE_NAME, '(Select ... Where ...)' );

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 31
    Points
    31
    Par défaut
    Ca marche avec des parenthèses !!

    Merci beaucoup à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme sur un formulaire basé sur une vue
    Par mattmax dans le forum IHM
    Réponses: 0
    Dernier message: 02/08/2013, 14h19
  2. [Forms 6i] Bloc basé sur une procédure
    Par macben dans le forum Forms
    Réponses: 1
    Dernier message: 30/01/2009, 14h29
  3. [6i] Block basé sur une vue
    Par zinabd dans le forum Designer
    Réponses: 5
    Dernier message: 18/11/2008, 18h51
  4. Réponses: 1
    Dernier message: 19/02/2007, 12h45
  5. [forms] Bloc basé sur une clause from
    Par plaineR dans le forum Forms
    Réponses: 11
    Dernier message: 16/12/2004, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo