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 :

[Forms 6i] Bloc basé et distinct


Sujet :

Forms Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut [Forms 6i] Bloc basé et distinct
    Bonjour,

    J'ai un petit soucis de conception, je viens de développer un écran tout simple.
    il est composé d'un bloc basé et disposé de façon tabulaire.

    or je viens de me rendre compte qu'il y avait des doublons dans mon affichage, car dans l'écran je n'affiche pas tous les champs....

    alors je me suis dis que j'allais faire un distinct sur mon bloc mais ce n'est pas possible ?

    donc je pense que je vais passer le bloc à "non basé" et alimenter les champs sur un "post query" et gérer les update/insert/delete a la mimine

    mais est-ce la bonne solution?

    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
    Vous pouvez créer une vue avec le mot clé DISTINCT et baser votre bloc sur cette vue, mais dans ce cas, Forms ne saura plus comment atteindre (et donc verrouiller pour mise à jour) les enregistrements. Est-ce bien ce que vous voulez ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    oui en faite je me suis débrouiller plus ou moins autrement.

    je crée une table temporaire à l'ouverture de la forms contenant ma table avec le distinct.

    puis en sortie de traitement je mets a jour ma table "normale" avec le contenue de la table temporaire...

    c'est un capilotracté mais ça à l'air de fonctionner

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    Merci SheikYerbouti
    pour votre réponse

  5. #5
    Membre du Club Avatar de Devlop++
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par SheikYerbouti Voir le message
    Forms ne saura plus comment atteindre (et donc verrouiller pour mise à jour) les enregistrements
    Ce problème est du coté forms ?

    Car je croyait, coté SQL, que si on crée une vue qui contient tous les champs de la table en question et précisément clé primaire et étrangère, une opération DDL (update/insert/delete) sur la vue sera acheminé vers la table relié a la vue.

    Est-ce que je me trompe ?

    Merci.

  6. #6
    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
    Ce n'est pas le problème. Si vous faites un SELECT DISTINCT, vous êtes bien d'accord que vous ne ramenez pas TOUS les enregistrements, mais seulement ceux qui sont distincts les uns des autres, donc vous ne pouvez pas attribuer de ROWID. (Il faut définir une clé primaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select a.deptno, a.rowid from (select distinct e.deptno from emp e) a
                     *
    ERROR at line 1:
    ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc.

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

Discussions similaires

  1. [Forms 6i] Bloc basé sur une procédure
    Par macben dans le forum Forms
    Réponses: 1
    Dernier message: 30/01/2009, 14h29
  2. [Forms 6i] Bloc basé sur plusieurs tables
    Par reppier dans le forum Forms
    Réponses: 2
    Dernier message: 10/12/2008, 16h42
  3. [Forms 6i] Bloc non basé et navigation
    Par macben dans le forum Oracle
    Réponses: 3
    Dernier message: 13/01/2006, 12h27
  4. [Forms] Update d'un bloc basé
    Par zeuss dans le forum Forms
    Réponses: 14
    Dernier message: 02/02/2005, 12h18
  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