Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2011, 11h21   #1
Candidat au titre de Membre du Club
 
Homme Louic
Étudiant
Inscription : juillet 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Louic
Âge : 20
Localisation : Indonésie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 38
Points : 10
Points : 10
Envoyer un message via MSN à Alialyn Envoyer un message via Skype™ à Alialyn
Par défaut Enregistrements du même champ en colonnes differentes

Bonjour,

J'aimerais savoir s'il est possible de créer une requête où certains enregistrements d'un même champ seraient affichés dans différentes colonnes.

Dans mon cas par exemple, j'ai une liste de documents avec leur validité rattachés à un matériel respectif. J'ai donc une table de tous les documents.
Ce que j'aimerais c'est par exemple pour Materiel1, afficher sur la même ligne le document doc1 et sa date de validité val1, puis doc2 val2, etc pour tout les documents que je souhaite. Sur la même ligne, donc chaque colonne serait un document différent.

J'ai essayé une requête avec une clause WHERE Table_doc.doc_a_afficher dans la date de validité et WHERE nom LIKE "doc_a_afficher" dans le nom du document, ce qui marche bien pour un seul document, le problème est que dès que je met un autre document de la même manière avec les clauses WHERE à la suite dans la requête, ça m'affiche bien les deux documents avec les deux produits cependant ça m'affiche les deux documents 2 fois.
La première fois pour le doc1 et la deuxième fois pour le doc2 alors que j'aimerais que quand le document n'est pas lié au matériel la colonne du document en question reste vide.

Dans le cas ou Mat1 n'a pas de doc2 lié et Mat2 n'a pas de doc 1 lié
J'obtiens:

Materiel-----Doc1-----Val1-----Doc2-----Val2....

Mat1 doc1 val1 doc1 val1
Mat2 doc2 val2 doc2 val2

alors que ce que j'aimerais c'est ça:


Materiel-----Doc1-----Val1-----Doc2-----Val2....

Mat1 doc1 val1 vide vide
Mat2 vide vide doc2 val2

J'espère que c'est possible.
Merci par avance,

Louic
Alialyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 18h02   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 256
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 256
Points : 1 872
Points : 1 872
Bonjour
Il est possible de partir sur
Code :
select distinct materiel from matable
puis d'ajouter les colonnes derrière mais si le nombre de colonnes n'est pas déterminé ça va pas être possible
et si les colonnes ne sont pas identifiées dans la table c'est galère !

en gros dans le cas favorable :
Code :
1
2
3
4
5
6
select distinct materiel 
,(select doc1 from matable a where a.materiel=x.materiel and colonne=1)
,(select date1 from matable b where b.materiel=x.materiel and colonne=1)
,(select doc2 from matable c where c.materiel=x.materiel and colonne=2)
,(select date2 from matable d where d.materiel=x.materiel and colonne=2)
from matable x
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 04h55   #3
Candidat au titre de Membre du Club
 
Homme Louic
Étudiant
Inscription : juillet 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Louic
Âge : 20
Localisation : Indonésie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 38
Points : 10
Points : 10
Envoyer un message via MSN à Alialyn Envoyer un message via Skype™ à Alialyn
Bonjour,

Merci de ta réponse. Le nombre de colonnes est déterminé puisqu'il s'agit d'autant de colonnes qu'il y a de documents possibles liés à un produit. En l’occurrence ici une quinzaine (oui ça va faire une large page!)

J'ai utilisé le code que tu m'as proposé avec quelques petites modifications (enlevé le "colonne=1" par exemple, cela me faisait rentrer une valeur pour la colonne au lieu d'être automatique) et ça marche comme un charme!

Encore merci beaucoup pour ton aide!

(Oui je n'oublie pas de cliquer sur résolu )
Alialyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h12.


 
 
 
 
Partenaires

Hébergement Web