Utilisation d'une table deux fois dans la même requête

Résolu
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014 - 17 sept. 2006 à 21:45
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014 - 18 sept. 2006 à 00:47
Bonjour

Je suis confronté à un petit problème dans une requête, n'ayant pas trouvé de réponse je persiste en posant la question ici car je suis persuadé que cela est possible.

Je suis sous Access et VB6.

J'ai une table avec 4 champs : num (numéroAuto), nom (Texte), prénom (Texte) et num_personne (numérique)

Cartaine personne son rataché entre elle.

Par exemple :

1 Toto Test
2 Tata Essai 3
3 Lui Moi
4 Essais Test 1

Je voudrais faire une requete qui affiche tous les noms dans personne soit les 4 lignes avec pour ceux ayant un num_personne qui appartient à la meme table soit :

1 Toto Test
2 Tata Essai 3 --> Lui Moi
3 Lui Moi
4 Essais Test 1 --> Toto Test

J'ai essayer avec deux nom de table différente nommé pas des as  ---> table as table1, table as table2

Quelqu'un aurrai une idée ?

Merci d'avance.

10 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
18 sept. 2006 à 00:35
Dans ta requête, convertit soit l' un soit l' autre

Fais un lien entre
cInt(numPersonne) et numChef
ou bien
numPersonne et CStr(numchef)
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
17 sept. 2006 à 23:19
Bonsoir,
^^Cartaine personne son rataché entre elle
Question : Par quoi ?
                   Est- ce que ce lien est établi ? défini ? spécifié ?
Autrement dit y' a t-il une raison pour laquelle deux
personnes se retrouvent rattachées ?
Si c' est le cas fais une simple requête Selection avec ce critère.

L' autre solution consiste à faire une requête qui fait référence à La Table
et à une autre requête issue de La Table.

chaibat
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
17 sept. 2006 à 23:33
Par le num_personne

En faite c'est les chef de section qui sont pas ratacher, tous les autre personne possède un chef.

Le problème c'est que j'ai qu'une table avec tout et donc en une requete je voudrais affiché :

Nom prénom et a coté le nom de son chef.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
17 sept. 2006 à 23:49
Et donc c' est un problème structurel.

Dans ta table il faut qu' il y est :

Chap1           Chap2            Chap3 
 Num                  Nom                 IdChef

Tu dois avoir une autre Table Chefs avec

Chp1             Chp1
 IdChef              NomChef

Les deux tables seront liées par le chap IdChef
(Et prévois un IdChef vide pour les personnes qui n' ont pas de chef)
Si la personne n' a pas de chef tu vas avoir
Num             Nom                  ""        ""
A partir de là , tu fais une requête selection pour avoir
Num             Nom           IdChef       NomChef
ou tout simplement
Nom          NomChef

Est-ce que c' est ça  ?

chaibat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
18 sept. 2006 à 00:01
Tout d'abord merci pour ton aide.

Cette solution fonctionne éffectivement, le problème dans mon cas, ce n'est pas moi qui gère l'ajout des donnée, mais uniquement des requete et états dans access.

La personne qui a fait la base le gère en une seule table. Donc je suis toujours coincé avec ma table, je n'ai pas de table chef.

Est possible ou non de faire une requete qui utilise 2 fois la même table, si oui il doit y avoir un moyen.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
18 sept. 2006 à 00:14
^^Est possible ou non de faire une requete qui utilise 2 fois la même table, si oui il doit y avoir un moyen
.

A mon avis ,execuses moi du terme, ça serait du bidouillage.
En tout cas la solution que je te l' ai proposée précédemment, à savoir

LaTable
chp1        chp2         chp3
Num        Nom          Chef

+
Une requête _SqlLaTable
chp1        chp2         chp3
Num        Nom          Chef

Et tu fais une selection à partir de ces deux sources de données.
ce qui revient à faire une reqête à partir d' une table liée à elle même.

ça marche comme ça ?

chaibat
 ps:
pour la _sqlLaTable, fais le d' abord dans Acces, puis copie le
code Sql généré et colle le dans ta requête finale..
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
18 sept. 2006 à 00:29
J'ai compris où ca bloque.

Le champs num_personne est un champs texte car il y a soit le num de personne d'un chef, soit rien ou soit un code en 3 lettre.

Et j'essais de faire un lien entre un champ num et un champ numérique.

Peut on changé le type de champs ? car dans la requete je garde uniquement les lignes ou num_personne est un chiffre, donc je pourrais si c'est possible changer le type de donnée en numérique.
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
18 sept. 2006 à 00:43
Un grand merci, ca marche nickel !

J'aurais du faire gaffe au type de champ, j'aurais pu poser la bonne question tout de suite. Merci d'avoir été patient.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
18 sept. 2006 à 00:46
Pas de  souci !
l' essentiel c' est qu' on a pu discuter ensemble un petit moment
Bon courage et A+

chaibat
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
18 sept. 2006 à 00:47
C'est sur ...

Bon courrage à toi aussi.

Et bonne nuit.
0
Rejoignez-nous