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

Access Discussion :

problème requête à jointure multiple...


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 60
    Points
    60
    Par défaut problème requête à jointure multiple...
    Bonjour à tous...

    je souhaite faire une fonction de recherche... j'ai besoin de joindre plusieurs tables pour avoir les informations nécessaires. Je fais donc la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select  L.nom_lien, L.adresse_lien, R.nom_rubrique, P.nom_page from liens L inner join rubrique R on L.num_rubrique=R.num_rubrique inner join pages P on R.num_page=P.num_page  where nom_lien like '%monparametre%'
    J'ai une erreur qui se produit dont le message est :

    Erreur de syntaxe (opérateur absent) dans l'expression 'L.num_rubrique=R.num_rubrique inner join pages P on R.num_page=P.num_page'.
    je vois pas de quel opérateur le message peut parler... Help !!

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    comme d'hab, je dirai :
    valide ta requete dans le QBE (l'editeur de requete) en faisant un copier/coller et en donnant une valeur a ton parametre.

    La relation INNER JOIN n'étant pas specialement transitive, il te manque certainement des parentheses quelquepart, comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select  L.nom_lien, L.adresse_lien, R.nom_rubrique, P.nom_page 
    from ( liens L inner join rubrique R on L.num_rubrique=R.num_rubrique ) inner join pages P on R.num_page=P.num_page  
    where nom_lien like '%monparametre%'
    Slt
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 60
    Points
    60
    Par défaut
    Merci ça ne me fais effectivement plus d'erreur, mais ça ne me renvoie strictement rien... comment ce fait-ce ??? :o alors que ma table est toute pleine !!

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    As tu regardé le résultat dans le QBE (l'éditeur de requetes) en y faisant un copier coller de ta requete ?

    dans un premier temps sans mettre le predicat "where ..."
    comme ca tu valide tes jointure et ton résultat attendu

    ensuite seulement, tu ajoutes le "where ..."

    Slt,
    "Always look at the bright side of life." Monty Python.

  5. #5
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 60
    Points
    60
    Par défaut
    mes jointures fonctionnent... je crois que c'est le like qui merdouille... c'est bizarre parce que c'est des genre de requête que j'ai éxécuté des centaines de fois sans aucun problème sur SQL server et mysql, et là sur access ça passe pas... c'est vraiment frustrant !
    je cherche toujours d'où vient l'erreur... je vous tiens au courant !

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Ton like ne fonctionnera pas car tu utilises %. En sql access, le % doit être remplacé par *.

    En espérant t'avoir aidé.

  7. #7
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 60
    Points
    60
    Par défaut
    bon, j'ai trouvé la solution plus vite que ce que je pensais !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select  nom_lien, adresse_lien, nom_rubrique, nom_page from (liens L inner join rubrique R on L.num_rubrique=R.num_rubrique) inner join pages P on R.num_page=P.num_page  where nom_lien like '*monparametre*';
    Et oui en Access, les % sont remplacés par des * ! Merci microsoft !!

    Et merci de votre aide !!

Discussions similaires

  1. Problème avec jointures multiples.
    Par Veritas5 dans le forum Développement
    Réponses: 3
    Dernier message: 05/06/2009, 15h42
  2. [SQL2005][TSQL]Problème de jointures multiples
    Par Veritas5 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/03/2009, 17h04
  3. Problème de jointure multiple
    Par Max_be dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/10/2007, 21h39
  4. Problème requête count multiples
    Par kro001 dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2007, 21h10
  5. Problème requête jointure
    Par Isa31 dans le forum Langage SQL
    Réponses: 36
    Dernier message: 16/05/2005, 13h46

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