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

VB 6 et antérieur Discussion :

[vb6]faire une requete sur plusieurs tables


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut [vb6]faire une requete sur plusieurs tables
    Bonjour,

    J'ai trois tables T1 T2 et t3
    Dans la table T1, j'ai les champs T11, T12, T13, T14
    Dans la table T2, j'ai les champs T21, T22, T23, T24
    Dans la table T3, j'ai les champs T31, T32, T33, T34...


    J'aimerai savoir comment faire une requete pour prendre tous les champs des tables T1 T2 et T3 ?


    Merci pour votre aide


    Enfin, comment faire si je veux prendre tous les champs de la table T1 et je veux certain champs en particulier dans la table T2 et T3.


    Ma base de donnée est fait sous access et j'utilise visual basic.
    Je débute encore dans le visual basic.

    Je vous remercie par avance.

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    ben coment compte tu afficher plusiuer tables qui n'ont pas forcement des informations communes ?
    il faut que tu saches quel element de chaque table est commun aux deux tables
    Apres on fait un Select Table1.Champ1,Table1.Champ2,Table2.Champ3 from table1 inner join table2 on Table1.Champ1=Table2.Champ2
    La partie select te permet de preciser les champs a extraire, la clause from permet de selectionner la table primaire, le inner join te permet de preciser le champs commun au deux table. On parle de jointure

    Il existe trois types de jointure:
    Inner Join pour une equi-jointure
    Left Join pour une jointure gauche
    Right Join pour jointure droite

    on pourais aussi joindre la table 1 avec une jointure entre la table 2 et a table 3, mais commence avec deux tables, plus il y a de tables a joindre, plus c'est compliqué.

    Voit l'aide en ligne sur Join pour plus de precisions.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    ah ok, en faite c'est obligé qu'il doit y a un élément de la table 1 qui doit être pareil avec un élément de la table 2.

    Donc par rapport à ton code
    Select Table1.Champ1,Table1.Champ2,Table2.Champ3 from table1 inner join table2 on Table1.Champ1=Table2.Champ2


    alors si j'ai bien compris le champ1 de la table 1 doit être pareil que le champ2 de la table 2.

    Bon je vais tester ca, merci bcp

    [EDIT] CA MARCHE OURAAAAAAAAHH !!!!!!!!!!
    je vous ai....

  4. #4
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par Henry9
    J'aimerai savoir comment faire une requete pour prendre tous les champs des tables T1 T2 et T3 ?

    Citation Envoyé par Henry9
    comment faire si je veux prendre tous les champs de la table T1 et je veux certain champs en particulier dans la table T2 et T3.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select T1.*,T2.22,T2.T24,T3.T31,T3.33 from T1,T2,T3
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut [VB6] faire une requête multitable
    Rebonjour, je pense que j'ai sauté de joie trop vite, comment effetué une requete sur trois table si on prend le code avec le inner join ?


    Donc je viens d'essayer le code de soso, et apparement, doit y avoir une erreur de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT * FROM T1, T2, T3 WHERE T1.t11 = T2.t21 = T3.t31
    Ca ne marche pas, pourtant les élément de T11, T21, et T31 sont les même.


    Evidemment, j'ai aussi essayé avec and
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT *
    FROM T1, T2, T3
    WHERE T1.t11 = T2.t21
    and T2.t21 = T3.t31

    mais ca marche pas, j'obtiens l'erreur

    The specified field <field> could refer to more than one table listed in the FROM clause of your SQL statement. (Error 3079)


    je travaille sur visual basic 6.0 et ma base de donnée est sur ACCESS


    en vous remerciant par avance


    PS: pour l'instant, j'ai essayé plein de facon, mais je viens de remarqué à l'instant un problème au niveau du nom de champ et de table qui sont pareil.


    OK, donc maintenant le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT *
    FROM T1, T2, T3
    WHERE T1.t11 = T2.t21
    and T2.t21 = T3.t31
    fonctionne.

    le problème c'est qu'il y a un champs de la table T3 qui se repète c'est bizarre. Est-ce que c'est possible dans une requête de champs d'une table, tous les enregistrement doivent être différent ?

  6. #6
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    J'avais bien dit que c'etait un peu plus compliqué

    c'est quelque chose comme çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Select  Table1.*,Table2.Champ2,Table3.Champ2
    From Table1
    Inner Join (
                    Table2 Inner Join Table3 
                    On Table2.Champ2=Table3.Champ1
                 )
    On Table1.Champ2=Table2.Champ1
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    Je vous remercie Delbeke, le code fonctionne parfaitement.

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

Discussions similaires

  1. [1.x] Comment faire une recherche sur plusieurs tables
    Par farhaenis dans le forum Symfony
    Réponses: 6
    Dernier message: 01/07/2011, 17h47
  2. [Conception] Affichage d'une requete sur plusieurs tables
    Par djinko dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/04/2007, 14h43
  3. Réponses: 1
    Dernier message: 06/12/2006, 18h25
  4. faire une requête sur plusieurs tables
    Par julien.63 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/08/2006, 22h58
  5. Réponses: 2
    Dernier message: 07/07/2005, 08h31

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