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 :

[Forms6] Master-detail via PL/SQL


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2005
    Messages : 96
    Par défaut [Forms6] Master-detail via PL/SQL
    Bonjour,

    J'ai pris l'habitude (peut-être mauvaise) de modifier le QUERY_DATA_SOURCE_NAME avec ce bout de code.
    la requete incluant mon code sql et un ou plusieurs paramêtres saisis dans des zones de texte.

    exemple très simplifié, utilisé depuis un bouton et le trigger WHEN-BUTTON-PRESSED
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    -- exemple très très simplifié.
    requete = '(select article, qte from articles where article like ''' || :cherche.param1 || ''')';
    -- MAJ QUERY_DATA_SOURCE_NAME
    go_block('TROUVE');
    clear_block;
    set_block_property('TROUVE',QUERY_DATA_SOURCE_NAME,requete);
    DO_KEY('EXECUTE_QUERY');
    Aujourd'hui, on me demande de fusionner deux programmes.
    Je dois donc créer un master-detail.

    Comment faire, sachant que ces deux programmes fonctionnent avec le principe ci-dessus (modification du QUERY_DATA_SOURCE_NAME) ?

    j'ai tenté de mettre à jour le détail sur un événement WHEN-NEW-ITEM-INSTANCE du master, mais cela m'empêche de faire des filtres via les fonctions de base de forms F2, Shift+F2.

    merci pour votre aide....

    un auto-didacte perdu dans forms6.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 37
    Par défaut
    Bonjour.

    Je ne sais pas quel niveau vous avez en Forms, alors je vais proposer une solution avec les wizards.

    Allez dans Tools/Data block wizard et créez votre bloc (maître) sur la table Articles.
    Dans les propriétés, vous devez voir :
    - Database data block : yes
    - Query data source type : table
    - Query data source name : Articles
    Renseignez Where clause avec "article like :cherche.param1"

    Réutilisez le wizard et créez votre second bloc (détail) de même, en n'oubliant pas de faire "Create relashionship" afin de créer la liaison maître-détail.

    Et de mémoire, après, tout est géré automatiquement. Le détail s'affiche à chaque changement de ligne sur le maître.

    J'espère vous aider et ne pas être à côté de la plaque pour votre demande.

    Cordialement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2005
    Messages : 96
    Par défaut
    Malheureusement pour moi, la requête du second block interroge plusieurs tables et fait une recherche récursive.
    (je fais une recherche dans des nomenclatures pour trouver les cas d'emplois)

    le Wizard ne fonctionne donc pas...

    une autre idée ???

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Pourquoi un WNII sur le maitre, c'est plutôt un WNRI (When-New-Record-Instance) qu'il faut mettre, non ?
    Tu peux tester si tu es en mode query ou pas
    Si tu n'es pas en query : Tu peux aller sur le bloc détail, lancer le query et revenir sur le bloc maitre.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2005
    Messages : 96
    Par défaut
    Excellent, le WNRI est bien une réponse satisfaisante.
    et la vérif du mode query me va bien.
    merci

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

Discussions similaires

  1. connaitre le système d'exploitation via PL/SQL
    Par aemag dans le forum PL/SQL
    Réponses: 5
    Dernier message: 15/02/2007, 10h21
  2. [schema] géneration via fichier SQL ou base
    Par anthyme dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 22/11/2006, 21h25
  3. Différence accès via PL/SQL et .NET
    Par Stef69_ dans le forum PL/SQL
    Réponses: 2
    Dernier message: 24/10/2006, 10h08
  4. enregistrer des variables dans une table via requete sql
    Par Echizen1 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/09/2006, 15h15
  5. [Forms] Debugger/Pb canevas-relation Master/detail
    Par lafouine dans le forum Forms
    Réponses: 16
    Dernier message: 12/08/2005, 18h51

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