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 :

requete select avec plusieurs tables


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut requete select avec plusieurs tables
    bonjour à tous,
    j’ai un problème avec mon bouton rechercher.suite à la lecture des différents tutorial, je n'arrive pas à faire une requête avec plusieurs tables. Voici mon code exporté en sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    create table BIEN 
     (
    CODE_BIEN varchar2(10) constraint pk_CODE_BIEN primary key,
          NOM_BIEN varchar2(10),
          TYPE_BIEN varchar2(10),
          DESCRIPTION_BIEN varchar2(10),
          NUMERO_SERIE varchar2(10),
    );
     
    create table BON_ENTRE
    (
       	NUM_BON_ENTRE varchar2(10) constraint pk_NUM_BON_ENTRE primary key,
       	 NOM_SERVICE varchar2(10)
    );
     
    create table BON_DE_SORTIE
    (
      	NUM_BON_ENTRE varchar2(10) constraint pk_NUM_BON_ENTRE primary key,
      	NOM_SERVICE varchar2(10)
    );
     
    create table FIGURE
    (
    CODE_FIGURE varchar2(10) constraint pk_CODE_FIGURE primary key,
      	DATE_SORTIE date,
      	QTE_SORTIE number(20),
      	PRIX_SORTIE number(20),
      	 CODE_BIEN constraint FK_CODE_BIEN_FIGURE references BIEN(CODE_BIEN)
     NUM_BON_SORTIE constraint FK_NUM_BON_SORTIE_FIGURE references BIEN(CODE_BIEN)
     
    );
    create table EXSISTER
    (
        	CODE_EXSISTER  varchar2(10) constraint pk_CODE_EXSISTER primary key,
     	 DATE_ENTRE date,
      	QTE_ENTRE number(20),
      	PRIX_ENTRE number(20),
    CODE_BIEN constraint FK_CODE_BIEN_EXSISTER references BIEN(CODE_BIEN)
    NUM_BON_ENTRE constraint FK_NUM_BON_SORTIE_EXSISTER references BIEN(CODE_BIEN));
    J’ai fait le bouton avec WHEN-BUTTON-PRESSED puis j’ai écris le code sql qui est :
    Select BIEN.CODE_BIEN, NOM_BIEN, EXSISTER.NUM_BON_ENTRE, DATE_ENTRE, QTE_ENTRE,FIGURER.NUM_BON_SORTIE,QTE_SORTIE,DATE_SORTIE
    INTO :BIEN.CODE_BIEN, :BIEN.NOM_BIEN, :EXSISTER.NUM_BON_ENTRE, :EXSISTER.DATE_ENTRE, :EXSISTER.QTE_ENTRE,:FIGURER.NUM_BON_SORTIE,:FIGURER.QTE_SORTIE,:FIGURER.DATE_SORTIE
    FROM BIEN, EXSISTER,FIGURER
    where BIEN.CODE_BIEN = EXSISTER.CODE_BIEN
    AND BIEN.CODE_BIEN = FIGURER.CODE_BIEN
    AND BIEN.CODE_BIEN like :BIEN.CODE_BIEN;
    NB : Apres avoir écris le script lorsqu’on clique sur compile machine ne montre pas d’erreurs, mais si compile le forms et qu’on donne un numéro déjà saisie dans le zone de texte code_bien et puis on clique sur le bouton rechercher il n’afficher rien.

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Merci de signaler votre version d'oracle, les outils que vous utilisez ainsi que la version de ceux-ci.

    Cela devient fatiguant de vous le demander à chacun de vos posts. Merci à l'avenir de faire un minimum d'effort si vous souhaitez avoir des réponses.

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut
    Citation Envoyé par plaineR
    Merci de signaler votre version d'oracle, les outils que vous utilisez ainsi que la version de ceux-ci.

    Cela devient fatiguant de vous le demander à chacun de vos posts. Merci à l'avenir de faire un minimum d'effort si vous souhaitez avoir des réponses.
    Mille milliards d’excuses si ma question à été mal pose. Voilà j’ai oracle 9 i 2 versions et froms 9 i 2 version.
    Merci.

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Bonjour,

    Si tu cherches la chaine qui contient :bien.code_bien donc il faut rajouter '%'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND bien.code_bien LIKE '%'||:bien.code_bien;

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut
    Citation Envoyé par salim11
    Bonjour,

    Si tu cherches la chaine qui contient :bien.code_bien donc il faut rajouter '%'
    AND bien.code_bien LIKE '%'||:bien.code_bien;
    Je vis d’utilise le scripte que vous m'aviez demande d'utilise, mais lorsqu'on clique sur le bouton rechercher dans le formulaire en mode saisir il n'affiche aucun résultat.
    Pour plus de précision voici le scripte a nouveau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Select BIEN.CODE_BIEN, NOM_BIEN, EXSISTER.NUM_BON_ENTRE, DATE_ENTRE, QTE_ENTRE,FIGURER.NUM_BON_SORTIE,QTE_SORTIE,DATE_SORTIE
    INTO :BIEN.CODE_BIEN, :BIEN.NOM_BIEN, :EXSISTER.NUM_BON_ENTRE, :EXSISTER.DATE_ENTRE, :EXSISTER.QTE_ENTRE,:FIGURER.NUM_BON_SORTIE,:FIGURER.QTE_SORTIE,:FIGURER.DATE_SORTIE
    FROM BIEN, EXSISTER,FIGURER
    where BIEN.CODE_BIEN = EXSISTER.CODE_BIEN
    AND BIEN.CODE_BIEN = FIGURER.CODE_BIEN
    AND bien.code_bien LIKE '%'||:bien.code_bien;

  6. #6
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    As-tu essayé ta requête sous SQL*Plus ?

    Pourquoi utilises-tu un like ? Cela me semble risqué, car si tu as plusieurs valeurs, tu auras une exception too_many_rows à l'exécution.

  7. #7
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut Remarque
    Bonjour,

    Je comprends pas une chose pourquoi tu veux faire le travail de forms.

    Tu as qu'a mettre dans le pre_query tes conditions et tu fais un execute_query :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set_block_property('bien',default_where,' code_bien LIKE ''%''||:bien.code_bien');
    ou 
    set_block_property('bien',default_where,' code_bien LIKE :bien.code_bien||''%''');

  8. #8
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut
    Citation Envoyé par salim11
    Bonjour,

    Je comprends pas une chose pourquoi tu veux faire le travail de forms.

    Tu as qu'a mettre dans le pre_query tes conditions et tu fais un execute_query :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set_block_property('bien',default_where,' code_bien LIKE ''%''||:bien.code_bien');
    ou 
    set_block_property('bien',default_where,' code_bien LIKE :bien.code_bien||''%''');
    Vous pouvez me dire comment faire pour utilise
    set_block_property
    merci

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

Discussions similaires

  1. Requete select sur plusieurs tables
    Par cl@ndestIno dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/12/2008, 12h36
  2. Réponses: 5
    Dernier message: 10/12/2007, 15h24
  3. Pb de syntaxe : Select avec plusieurs tables
    Par roxxxy dans le forum Requêtes
    Réponses: 6
    Dernier message: 27/03/2007, 11h34
  4. Requete select avec table en parametre
    Par minette dans le forum VB 6 et antérieur
    Réponses: 34
    Dernier message: 02/08/2006, 18h46
  5. [MySQL] requete avec liaisons avec plusieurs tables
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/03/2006, 22h21

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