Access 2010

Résolu
anofer Messages postés 5 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 16 février 2011 - 26 nov. 2010 à 09:25
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013 - 27 févr. 2011 à 16:25
bonjour,
je suis debutant, mon probleme a resoudre est le suivant :
j'ai deux tables
code article
ref
designation
et la deuxieme est une table de stock avec sur chaque ligne le stock dans chaque couleur
code article
quantite
couleur
je souhaiterais faire un etat avec une requete qui me donnerais
code article
quantite par couleur:
pour schematiser
au depart 1er table:

bahut
ref1032

deuxieme table :
bahut
ref1032
bleu
3

bahut
ref1032
quantite bleu 3
quantite rouge 4
quantite vert 5
enfin je souhaiterais avoir dans la table de resultat une seul ligne par ref mais avec des champs supplementaire indiquant les quantites par couleur, au lieu de plusieurs lignes .

j'espere que cela a ete clair

merci pour votre aide

gilbert

8 réponses

houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
2 déc. 2010 à 16:14
Merci d'accepter la réponse et d'indiquer que c'est résolu
3
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
26 nov. 2010 à 10:09
Salut
Tu va faire des sous requête sur ta table2 avec des filtres chaque fois en fonction de la colonne.
Colonne Bleu-->requête sur la table 2 avec filtre sur bleu
il faudra autant de requête que tu de colonnes (couleurs)
ensuite tu fais une requete sur la table 1 et toutes les requêtes crées en utilisant pour jointure tes deux premiers champs (attention ces jointures devront être ouvertes pour inclure tous les résultats de la table1 et les résultats correspondant quand ils existent pour les autres requêtes)

J'espère avoir été assez clair, sinon n'hésite pas à poser des questions.
0
anofer Messages postés 5 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 16 février 2011
26 nov. 2010 à 19:47
merci pour la reponse je vais m'y attacher, je pense que j'aurais d'autres questions....
0
anofer Messages postés 5 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 16 février 2011
26 nov. 2010 à 21:27
table 1
ref codearticle designation

ba123 123 3portes
ba124 124 2portes



table 2
ref codearticle designation couleur qté

ba123 123 3portes gris 1
ba123 123 3portes vert 3
ba124 124 2portes bleu 1
ba124 124 2portes vert 0




ce que je veux obtenir

ref codearticle designation gris vert bleu

ba123 123 3portes 1 3 0
ba124 124 2portes 0 0 1

c'est peut etre plus clair comme ca, je n'ai pas compris la solution houtas merci de me reexpliqué
gilbert
0

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

Posez votre question
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
30 nov. 2010 à 12:27
Bonjour,

Tu dois créer ta Table1 et Table2 exactement comme tu le décris, ensuite tu crée une requête, tu passe en mode SQL, tu copie le SQL ci-joint, tu exécute la requête et tu retrouve ton résultat attendu.
Passe en mode création les formules utilisés pour les sommes par colonnes, tu pourra t'adapter a ton cas.

SELECT Table1.ref, Table1.codearticle, Table1.designation, Sum(IIf([Table2]![couleur]="gris",[Table2]![qte],0)) AS gris, Sum(IIf([Table2]![couleur]="vert",[Table2]![qte],0)) AS vert, Sum(IIf([Table2]![couleur]="bleu",[Table2]![qte],0)) AS bleu
FROM Table1 LEFT JOIN Table2 ON (Table1.codearticle Table2.codearticle) AND (Table1.ref Table2.ref)
GROUP BY Table1.ref, Table1.codearticle, Table1.designation;
0
anofer Messages postés 5 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 16 février 2011
2 déc. 2010 à 09:26
merci houtas,
cela marche parfaitement.
a+
0
anofer Messages postés 5 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 16 février 2011
16 févr. 2011 à 19:25
Bonjour,

je souhaiterais obtenir un etat comme ceci

code article variante de couleur qte
sachant qu'un article peut posseder plusieurs variante de couleur

je dispose d'une table article ou il y a que le code article
et d'une table stock ou le code article est repeté plusieurs fois en fonction de sa variante de couleur.
en utilisant la methode precedente je suis obligé de marquer dans mon etat toute les variantes de couleur possible et de les connaitre auparavant.
Je souhaiterais que la table de resultat de ma requete puisse lire la variante de couleur et creer une colonne portant ce nom avec la qte.
il faudrait utiliser des variables mais je n sais pas le faire.

comme precedement il faut un seul code article mais toute les variante de couleur et la qte sur la meme ligne.

j'espere que j'ai ete assez clair
merci pour votre aide
0
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
27 févr. 2011 à 16:25
Ou bien un simple tableau croisée dynamique
avec cette requête
SELECT Table1.ref, Table1.codearticle, Table1.designation, Table2.couleur, Table2.qte
FROM Table1 INNER JOIN Table2 ON (Table1.designation Table2.designation) AND (Table1.codearticle Table2.codearticle) AND (Table1.ref = Table2.ref);

tu passe en mode tableau croisée dynamique, tu met ref, codearticle, désignation en ligne, la couleur en colonne et la qté en mesure et tu aura ton tableau avec les colonnes couleur en dynamique
0
Rejoignez-nous