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

VBA Access Discussion :

Problème de jointure entre 2 tables Access


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Problème de jointure entre 2 tables Access
    Bonjour,

    Mes Tables Access :
    Contact {UserID, Nom, Prénom, IdVille}
    Villes {Id, Ville, CodePostal, Secteur}

    CONTACTS
    7 * TOTO * CHRISTIAN * 8
    7 * DUPO * JEAN * 9
    6 * ALTO * RENE * 10

    VILLES
    8 * PARIS * 75000 * PARIS
    9 * NANTES * 44000 * OUEST
    10 * RENNES * 35000 * OUEST

    1 - l'utilisateur se connecte sur mon appli en s'identifiant (login+pwd) = UserID
    2 - j'affiche automatiquement la liste des contacts pour le user

    exemple : pour le User ID = 7 j'affiche la liste des contacts concernant cet utilisateur ; j'affiche à l'écran toutes les informations correspondants aux contacts et notamment les informations de localisation

    soit je souhaite afficher pour cet user :

    TOTO * CHRISTIAN * PARIS * 75000 * PARIS
    DUPO * JEAN * NANTES * 44000 * OUEST

    Problème lors de l'éxecution de ma requête sous VB6:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SQL = "SELECT CONTACT![NOM], CONTACT![PRENOM], VILLES![VILLE], VILLES![CP] 
    FROM CONTACT  INNER JOIN VILLES ON CONTACT![IdVille]=VILLES![ID] 
    WHERE CONTACT![UserID]= " & numuser
     
    Rsqt.Open SQL, ConnectDataBase, adOpenDynamic, adLockOptimistic, adCmdText
    Message Erreur : "Expression de jointure non supportée"

    note : si je remplace INNER JOIN par JOIN
    Message Erreur : "Erreur de syntaxe dans la close From"

    est ce un pb de syntaxe ?
    Merci.

  2. #2
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 79
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonjour

    Essayes cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL = "SELECT CONTACT![NOM], CONTACT![PRENOM], VILLES![VILLE], VILLES![CP] 
    FROM CONTACT  INNER JOIN VILLES ON CONTACT![IdVille]=VILLES![ID] 
    WHERE CONTACT![UserID]= '" & numuser & "'"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Réponse à JACMA
    Non j'ai toujours le message d'erreur !
    "Expression de jointure non supportée" = la cause pourrait elle venir des références déclarées pour mon projet ??

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Points : 110
    Points
    110
    Par défaut
    As-tu essayé en changeant ta syntaxe pour qu'il n'y ai pas le INNER JOIN =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL = "SELECT CONTACT![NOM], CONTACT![PRENOM], VILLES![VILLE], VILLES![CP]
    FROM CONTACT  , VILLES 
    WHERE 
    CONTACT![IdVille]=VILLES![ID]
    and CONTACT![UserID]= " & numuser

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Réponse à Mystro
    Oui cela fonctionne en mettant les 2 conditions dans la clause Where ! merci.

    : Cependant, j'ai lu (j'ai cru lire) qu'il était important, pour soulager le serveur ou se trouve la DataBase, d'utiliser des jointures dans mes requêtes SQL ??

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Points : 110
    Points
    110
    Par défaut
    Les conditions que tu mets dans la clause where te servent de jointure.

    Que tu mettes des conditions dans la clause where ou que tu fasses un INNER JOIN cela revient au même. Par contre, il est étrange que le INNER JOIN ne marche pas sur ta base... As-tu testé avec d'autre tables pour voir si cela venait de ta connection ou juste des tables....

  7. #7
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 79
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Peut-être en remplaçant les ![xxx] par des .xxx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL = "SELECT CONTACT.NOM, CONTACT.PRENOM, VILLES.VILLE, VILLES.CP
    FROM CONTACT  INNER JOIN VILLES 
        ON CONTACT.IdVille=VILLES.ID
    WHERE CONTACT.UserID= " & numuser

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Reponse à JACMA
    Exact !! en remplaçant ![XXX] par .XX plus de message d'erreur !
    Merci !!

  9. #9
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut Re: Reponse à JACMA
    Citation Envoyé par MITCH31
    Exact !! en remplaçant ![XXX] par .XX plus de message d'erreur !
    Merci !!
    Merci de penser à mettre le sujet Résolu, si c'est le cas
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. Problème de jointures entre 3 tables
    Par Ben001 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/09/2009, 19h04
  2. [MySQL] Probléme de jointure entre deux tables
    Par super-java dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/06/2008, 14h49
  3. Problème de Jointure entre plusieurs tables
    Par Stouille89 dans le forum JDBC
    Réponses: 12
    Dernier message: 11/12/2007, 14h16
  4. VB : Jointure entre 2 tables Access
    Par MITCH31 dans le forum Access
    Réponses: 7
    Dernier message: 14/12/2005, 11h55
  5. Problème de jointure entre 3 tables
    Par Yphon dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 15h58

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