Tableau à double entrée

Le
arnaud
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access Sans Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre .
CA 10 15 10 41 .
MARGE 52 54 84 88

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #10859101
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre ....
CA 10 15 10 41 ....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+
Fabien
Le #10859481
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre ....
CA 10 15 10 41 ....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+






Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre
choix que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table
arnaud
Le #10859251
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre ....
CA 10 15 10 41 ....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+


arnaud
Le #10859671
Oui bien sur !
J'ai les champs suivant dans la table CA_MARGE
ANNEE MOIS (exemple 2008-01)
COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
rapport à une Zone de Liste d'un formulaire)
CLIENT
CA HT BRUT
CA HT NET
MARGE BRUTE
MARGE NETTE


et je voudrais :
juillet aout Septembre Octobre
....
CA BRUT 10 15 10 41 ....
CA NET 9 13 9 38
MARGE BRUTE 52 54 84 88 ...
MARGE NETTE 52 54 84 88 ...

Je pense qu'il faut que je passe par plusieurs requetes d'analyse croisées
mais je ne sais pas comment les regrouper ensuite...

Merci de votre aide !
Arnaud


"Fabien"
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre
....
CA 10 15 10 41
....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+






Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre choix
que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table




Fabien
Le #10859731
arnaud wrote:
Oui bien sur !
J'ai les champs suivant dans la table CA_MARGE
ANNEE MOIS (exemple 2008-01)
COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
rapport à une Zone de Liste d'un formulaire)
CLIENT
CA HT BRUT
CA HT NET
MARGE BRUTE
MARGE NETTE


et je voudrais :
juillet aout Septembre Octobre
....
CA BRUT 10 15 10 41 ....
CA NET 9 13 9 38
MARGE BRUTE 52 54 84 88 ...
MARGE NETTE 52 54 84 88 ...

Je pense qu'il faut que je passe par plusieurs requetes d'analyse croisées
mais je ne sais pas comment les regrouper ensuite...

Merci de votre aide !
Arnaud


"Fabien"
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge (pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre
....
CA 10 15 10 41
....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+





Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre choix
que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table








Effectivement ru n'as pas le choix ;-)
Pour les 'regrouper' utiliste la fonction Union.
Pour cela aprés avoir sauvegarder test diverses requetes tu ouvre
l'outil de requettage, Tu ne choisi aucune table ni requete.
L'outil SQL apparait alors par défaut dans la barre d'outil
Tu clic dessus
Et tu saisi le code sql
Select (la liste des champs) from requeteanalysecroisee 1
Union
Select (la liste des champs) from requeteanalysecroisée 2

et ainsi de suite.
Pour moi tes requetes devrais avoir les champs

Commercial,Libelle,janvier,fevrier,....
Libelle contenant l'intitulé 'CA Ht Brut' ou 'Ca HT Net' Ou 'Marge
Brute' ou 'Marge Net' selon les diverses requetes

Il faut impérativement que le nombre et l'ordre des champs soit le même
dans chaque requete.
Voilà
Fabien
Le #10859941
Fabien wrote:
arnaud wrote:
Oui bien sur !
J'ai les champs suivant dans la table CA_MARGE
ANNEE MOIS (exemple 2008-01)
COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
rapport à une Zone de Liste d'un formulaire)
CLIENT
CA HT BRUT
CA HT NET
MARGE BRUTE
MARGE NETTE


et je voudrais :
juillet aout Septembre Octobre
....
CA BRUT 10 15 10 41 ....
CA NET 9 13 9 38
MARGE BRUTE 52 54 84 88 ...
MARGE NETTE 52 54 84 88 ...

Je pense qu'il faut que je passe par plusieurs requetes d'analyse
croisées
mais je ne sais pas comment les regrouper ensuite...

Merci de votre aide !
Arnaud


"Fabien"
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le
principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client
et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge
(pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre
....
CA 10 15 10 41
....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année
suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+





Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre
choix
que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table








Effectivement ru n'as pas le choix ;-)
Pour les 'regrouper' utiliste la fonction Union.
Pour cela aprés avoir sauvegarder test diverses requetes tu ouvre
l'outil de requettage, Tu ne choisi aucune table ni requete.
L'outil SQL apparait alors par défaut dans la barre d'outil
Tu clic dessus
Et tu saisi le code sql
Select (la liste des champs) from requeteanalysecroisee 1
Union
Select (la liste des champs) from requeteanalysecroisée 2

et ainsi de suite.
Pour moi tes requetes devrais avoir les champs

Commercial,Libelle,janvier,fevrier,....
Libelle contenant l'intitulé 'CA Ht Brut' ou 'Ca HT Net' Ou 'Marge
Brute' ou 'Marge Net' selon les diverses requetes

Il faut impérativement que le nombre et l'ordre des champs soit le même
dans chaque requete.
Voilà





Pour completer
Requete1
SELECT ca.Commercial, "CA Brut" AS Libellé, Format([Annee-mois],"mmmm")
AS Mois, Sum(ca.[Ca Brut]) AS Ca_Brut
FROM ca
GROUP BY ca.Commercial, "CA Brut", Format([Annee-mois],"mmmm");

Requete2
SELECT ca.Commercial, "CA net" AS Libellé, Format([Annee-mois],"mmmm")
AS Mois, Sum(ca.[Ca Net]) AS Ca_net
FROM ca
GROUP BY ca.Commercial, "CA net", Format([Annee-mois],"mmmm");

Requête1_Analyse croisée
TRANSFORM Sum(Requête1.Ca_Brut) AS SommeDeCa_Brut
SELECT Requête1.Commercial, Requête1.Libellé
FROM Requête1
GROUP BY Requête1.Commercial, Requête1.Libellé
PIVOT Requête1.Mois;

Requete2_Analyse croisée
TRANSFORM Sum(Requete2.Ca_net) AS SommeDeCa_net
SELECT Requete2.Commercial, Requete2.Libellé
FROM Requete2
GROUP BY Requete2.Commercial, Requete2.Libellé
PIVOT Requete2.Mois;

et

SELECT *
FROM [Requête1_Analyse croisée]
Union
Select *
from [Requete2_Analyse croisée];

Mais je te le redis Il faut que le nombre et l'ordre des champs dans tes
requetes croisées soient rigoureusement identiques.
Je pense au Nom de mois, il doivent exister dans toute tes requetes

Le filtre sur commercial ne se faisant que sur la requete d'union.
ex "select * from requeteUnion Where Commercial=" & me.listechoixcommercial
@+
arnaud
Le #10861611
Je comprend maintenant la logique...
J'essaie...

Merci !!
Arnaud

"Fabien"
Fabien wrote:
arnaud wrote:
Oui bien sur !
J'ai les champs suivant dans la table CA_MARGE
ANNEE MOIS (exemple 2008-01)
COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
rapport à une Zone de Liste d'un formulaire)
CLIENT
CA HT BRUT
CA HT NET
MARGE BRUTE
MARGE NETTE


et je voudrais :
juillet aout Septembre Octobre
....
CA BRUT 10 15 10 41 ....
CA NET 9 13 9 38
MARGE BRUTE 52 54 84 88 ...
MARGE NETTE 52 54 84 88 ...

Je pense qu'il faut que je passe par plusieurs requetes d'analyse
croisées
mais je ne sais pas comment les regrouper ensuite...

Merci de votre aide !
Arnaud


"Fabien"
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le
principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client
et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge
(pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre
....
CA 10 15 10 41
....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année
suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu
dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+





Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre
choix
que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table








Effectivement ru n'as pas le choix ;-)
Pour les 'regrouper' utiliste la fonction Union.
Pour cela aprés avoir sauvegarder test diverses requetes tu ouvre
l'outil de requettage, Tu ne choisi aucune table ni requete.
L'outil SQL apparait alors par défaut dans la barre d'outil
Tu clic dessus
Et tu saisi le code sql
Select (la liste des champs) from requeteanalysecroisee 1
Union
Select (la liste des champs) from requeteanalysecroisée 2

et ainsi de suite.
Pour moi tes requetes devrais avoir les champs

Commercial,Libelle,janvier,fevrier,....
Libelle contenant l'intitulé 'CA Ht Brut' ou 'Ca HT Net' Ou 'Marge
Brute' ou 'Marge Net' selon les diverses requetes

Il faut impérativement que le nombre et l'ordre des champs soit le même
dans chaque requete.
Voilà





Pour completer
Requete1
SELECT ca.Commercial, "CA Brut" AS Libellé, Format([Annee-mois],"mmmm") AS
Mois, Sum(ca.[Ca Brut]) AS Ca_Brut
FROM ca
GROUP BY ca.Commercial, "CA Brut", Format([Annee-mois],"mmmm");

Requete2
SELECT ca.Commercial, "CA net" AS Libellé, Format([Annee-mois],"mmmm") AS
Mois, Sum(ca.[Ca Net]) AS Ca_net
FROM ca
GROUP BY ca.Commercial, "CA net", Format([Annee-mois],"mmmm");

Requête1_Analyse croisée
TRANSFORM Sum(Requête1.Ca_Brut) AS SommeDeCa_Brut
SELECT Requête1.Commercial, Requête1.Libellé
FROM Requête1
GROUP BY Requête1.Commercial, Requête1.Libellé
PIVOT Requête1.Mois;

Requete2_Analyse croisée
TRANSFORM Sum(Requete2.Ca_net) AS SommeDeCa_net
SELECT Requete2.Commercial, Requete2.Libellé
FROM Requete2
GROUP BY Requete2.Commercial, Requete2.Libellé
PIVOT Requete2.Mois;

et

SELECT *
FROM [Requête1_Analyse croisée]
Union
Select *
from [Requete2_Analyse croisée];

Mais je te le redis Il faut que le nombre et l'ordre des champs dans tes
requetes croisées soient rigoureusement identiques.
Je pense au Nom de mois, il doivent exister dans toute tes requetes

Le filtre sur commercial ne se faisant que sur la requete d'union.
ex "select * from requeteUnion Where Commercial=" &
me.listechoixcommercial
@+




Fabien
Le #10861731
arnaud wrote:
Je comprend maintenant la logique...
J'essaie...

Merci !!
Arnaud

"Fabien"
Fabien wrote:
arnaud wrote:
Oui bien sur !
J'ai les champs suivant dans la table CA_MARGE
ANNEE MOIS (exemple 2008-01)
COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
rapport à une Zone de Liste d'un formulaire)
CLIENT
CA HT BRUT
CA HT NET
MARGE BRUTE
MARGE NETTE


et je voudrais :
juillet aout Septembre Octobre
....
CA BRUT 10 15 10 41 ....
CA NET 9 13 9 38
MARGE BRUTE 52 54 84 88 ...
MARGE NETTE 52 54 84 88 ...

Je pense qu'il faut que je passe par plusieurs requetes d'analyse
croisées
mais je ne sais pas comment les regrouper ensuite...

Merci de votre aide !
Arnaud


"Fabien"
arnaud wrote:
Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
annee"
où je peux la récupérer.
Par contre, je ne comprend pas ce que donne ton code ...
On ne peux pas le faire avec le générateur de requete Access ??
Je vais faire des tests de ton code mais je ne comprend pas le
principe..

Merci de votre aide.
Arnaud

"Fabien"
arnaud wrote:
Bonjour,
J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
Succès..
J'ai une table CAMARGE qui reprend les CA et la marge par client
et par
mois.

Je veux créer une requete qui m'affiche par mois le CA et la Marge
(pas
de
tableau croisé dynamique)
exemple :
juillet aout Septembre Octobre
....
CA 10 15 10 41
....
MARGE 52 54 84 88 ...

Après plusieurs essais , je ne vois pas comment faire !
(Je veux que mes colonnes aillent de juillet à Juin de l'année
suivante
(suivant notre exercice comptable))

Merci de votre aide !!
Arnaud




Salut Arnaud
Si les nom des mois sont déjà des champs de ta table et que tu
dispose
d'un code pour distinguer ce qui est ca de ce qui est marge alors je
ferais
Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
@+




Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre
choix
que de passer par une requete croisée ;-)
Peux tu donner le detail de ta table







Effectivement ru n'as pas le choix ;-)
Pour les 'regrouper' utiliste la fonction Union.
Pour cela aprés avoir sauvegarder test diverses requetes tu ouvre
l'outil de requettage, Tu ne choisi aucune table ni requete.
L'outil SQL apparait alors par défaut dans la barre d'outil
Tu clic dessus
Et tu saisi le code sql
Select (la liste des champs) from requeteanalysecroisee 1
Union
Select (la liste des champs) from requeteanalysecroisée 2

et ainsi de suite.
Pour moi tes requetes devrais avoir les champs

Commercial,Libelle,janvier,fevrier,....
Libelle contenant l'intitulé 'CA Ht Brut' ou 'Ca HT Net' Ou 'Marge
Brute' ou 'Marge Net' selon les diverses requetes

Il faut impérativement que le nombre et l'ordre des champs soit le même
dans chaque requete.
Voilà





Pour completer
Requete1
SELECT ca.Commercial, "CA Brut" AS Libellé, Format([Annee-mois],"mmmm") AS
Mois, Sum(ca.[Ca Brut]) AS Ca_Brut
FROM ca
GROUP BY ca.Commercial, "CA Brut", Format([Annee-mois],"mmmm");

Requete2
SELECT ca.Commercial, "CA net" AS Libellé, Format([Annee-mois],"mmmm") AS
Mois, Sum(ca.[Ca Net]) AS Ca_net
FROM ca
GROUP BY ca.Commercial, "CA net", Format([Annee-mois],"mmmm");

Requête1_Analyse croisée
TRANSFORM Sum(Requête1.Ca_Brut) AS SommeDeCa_Brut
SELECT Requête1.Commercial, Requête1.Libellé
FROM Requête1
GROUP BY Requête1.Commercial, Requête1.Libellé
PIVOT Requête1.Mois;

Requete2_Analyse croisée
TRANSFORM Sum(Requete2.Ca_net) AS SommeDeCa_net
SELECT Requete2.Commercial, Requete2.Libellé
FROM Requete2
GROUP BY Requete2.Commercial, Requete2.Libellé
PIVOT Requete2.Mois;

et

SELECT *
FROM [Requête1_Analyse croisée]
Union
Select *
from [Requete2_Analyse croisée];

Mais je te le redis Il faut que le nombre et l'ordre des champs dans tes
requetes croisées soient rigoureusement identiques.
Je pense au Nom de mois, il doivent exister dans toute tes requetes

Le filtre sur commercial ne se faisant que sur la requete d'union.
ex "select * from requeteUnion Where Commercial="&
me.listechoixcommercial
@+








Re
Restera a regler le probleme de l'ordre d'affichage des colonnes
contenant le nom de mois.
Un tri est alpha ou numérique. Dans ton cas les colonnes seront triées
par alpha ;-( donc Aout avant Janvier.
Donc laisse les colonnes se nommer aa/mm. le tri sera ok et lors de
l'impression tu traduis les aa/mm en Nom de mois et le tour est joué ;-)
Bon courage
Michel_D
Le #11160151
Bonjour,

A mon avis, il vaut mieux faire la requête union avant la requête
d'analyse croisée

A voir avec ces 2 requêtes suivantes.

La 1ère requête qui prépare les données nommée "ReqPrepare" :

SELECT COMMERCIAL, [ANNEE MOIS] AS DateEnr,
"CA Brut" AS Libelle, Sum([CA HT BRUT]) AS Valeur
FROM [CA_MARGE]
GROUP BY COMMERCIAL, [ANNEE MOIS]
UNION SELECT COMMERCIAL, [ANNEE MOIS], "CA Net",
Sum([CA HT NET])
FROM [CA_MARGE]
GROUP BY COMMERCIAL, [ANNEE MOIS]
UNION SELECT COMMERCIAL, [ANNEE MOIS], "Marge Brute",
Sum([MARGE BRUTE])
FROM [CA_MARGE]
GROUP BY COMMERCIAL, [ANNEE MOIS]
UNION SELECT COMMERCIAL, [ANNEE MOIS], "Marge Nette",
Sum([MARGE NETTE])
FROM [CA_MARGE]
GROUP BY COMMERCIAL, [ANNEE MOIS];

La 2ème qui donne le résultat

TRANSFORM First(Valeur) AS Valeur1
SELECT COMMERCIAL, Libelle
FROM ReqPrepare
GROUP BY COMMERCIAL, Libelle
ORDER BY COMMERCIAL, Libelle
PIVOT [ANNEE MOIS];


"arnaud"
Je comprend maintenant la logique...
J'essaie...

Merci !!
Arnaud

"Fabien"
> Fabien wrote:
>> arnaud wrote:
>>> Oui bien sur !
>>> J'ai les champs suivant dans la table CA_MARGE
>>> ANNEE MOIS (exemple 2008-01)
>>> COMMERCIAL (je souhaite ajouter un filtre ensutie sur cette requete par
>>> rapport à une Zone de Liste d'un formulaire)
>>> CLIENT
>>> CA HT BRUT
>>> CA HT NET
>>> MARGE BRUTE
>>> MARGE NETTE
>>>
>>>
>>> et je voudrais :
>>> juillet aout Septembre Octobre
>>> ....
>>> CA BRUT 10 15 10 41 ....
>>> CA NET 9 13 9 38
>>> MARGE BRUTE 52 54 84 88 ...
>>> MARGE NETTE 52 54 84 88 ...
>>>
>>> Je pense qu'il faut que je passe par plusieurs requetes d'analyse
>>> croisées
>>> mais je ne sais pas comment les regrouper ensuite...
>>>
>>> Merci de votre aide !
>>> Arnaud
>>>
>>>
>>> "Fabien" >>>
>>>> arnaud wrote:
>>>>> Les mois de mois ne sont pas dans ma table mais j'ai un champ "mois
>>>>> annee"
>>>>> où je peux la récupérer.
>>>>> Par contre, je ne comprend pas ce que donne ton code ...
>>>>> On ne peux pas le faire avec le générateur de requete Access ??
>>>>> Je vais faire des tests de ton code mais je ne comprend pas le
>>>>> principe..
>>>>>
>>>>> Merci de votre aide.
>>>>> Arnaud
>>>>>
>>>>> "Fabien" >>>>>
>>>>>> arnaud wrote:
>>>>>>> Bonjour,
>>>>>>> J'ai un tableau Excel que j'essaie de réaliser avec access... Sans
>>>>>>> Succès..
>>>>>>> J'ai une table CAMARGE qui reprend les CA et la marge par client
>>>>>>> et par
>>>>>>> mois.
>>>>>>>
>>>>>>> Je veux créer une requete qui m'affiche par mois le CA et la Marge
>>>>>>> (pas
>>>>>>> de
>>>>>>> tableau croisé dynamique)
>>>>>>> exemple :
>>>>>>> juillet aout Septembre Octobre
>>>>>>> ....
>>>>>>> CA 10 15 10 41
>>>>>>> ....
>>>>>>> MARGE 52 54 84 88 ...
>>>>>>>
>>>>>>> Après plusieurs essais , je ne vois pas comment faire !
>>>>>>> (Je veux que mes colonnes aillent de juillet à Juin de l'année
>>>>>>> suivante
>>>>>>> (suivant notre exercice comptable))
>>>>>>>
>>>>>>> Merci de votre aide !!
>>>>>>> Arnaud
>>>>>>>
>>>>>>>
>>>>>> Salut Arnaud
>>>>>> Si les nom des mois sont déjà des champs de ta table et que tu
>>>>>> dispose
>>>>>> d'un code pour distinguer ce qui est ca de ce qui est marge alors je
>>>>>> ferais
>>>>>> Select IDClient,iif([Code_CA="CA";"CA";"Marge") as
>>>>>> Lib,Janvier,fevrier,..,Decembre, form CAmarge Order by IdClient,Lib;
>>>>>> @+
>>>>>
>>>> Si tes mois sont dans la table au format mm/aa alors tu n'as d'autre
>>>> choix
>>>> que de passer par une requete croisée ;-)
>>>> Peux tu donner le detail de ta table
>>>>
>>>>
>>>
>>>
>> Effectivement ru n'as pas le choix ;-)
>> Pour les 'regrouper' utiliste la fonction Union.
>> Pour cela aprés avoir sauvegarder test diverses requetes tu ouvre
>> l'outil de requettage, Tu ne choisi aucune table ni requete.
>> L'outil SQL apparait alors par défaut dans la barre d'outil
>> Tu clic dessus
>> Et tu saisi le code sql
>> Select (la liste des champs) from requeteanalysecroisee 1
>> Union
>> Select (la liste des champs) from requeteanalysecroisée 2
>>
>> et ainsi de suite.
>> Pour moi tes requetes devrais avoir les champs
>>
>> Commercial,Libelle,janvier,fevrier,....
>> Libelle contenant l'intitulé 'CA Ht Brut' ou 'Ca HT Net' Ou 'Marge
>> Brute' ou 'Marge Net' selon les diverses requetes
>>
>> Il faut impérativement que le nombre et l'ordre des champs soit le même
>> dans chaque requete.
>> Voilà
>>
>>
>>
> Pour completer
> Requete1
> SELECT ca.Commercial, "CA Brut" AS Libellé, Format([Annee-mois],"mmmm") AS
> Mois, Sum(ca.[Ca Brut]) AS Ca_Brut
> FROM ca
> GROUP BY ca.Commercial, "CA Brut", Format([Annee-mois],"mmmm");
>
> Requete2
> SELECT ca.Commercial, "CA net" AS Libellé, Format([Annee-mois],"mmmm") AS
> Mois, Sum(ca.[Ca Net]) AS Ca_net
> FROM ca
> GROUP BY ca.Commercial, "CA net", Format([Annee-mois],"mmmm");
>
> Requête1_Analyse croisée
> TRANSFORM Sum(Requête1.Ca_Brut) AS SommeDeCa_Brut
> SELECT Requête1.Commercial, Requête1.Libellé
> FROM Requête1
> GROUP BY Requête1.Commercial, Requête1.Libellé
> PIVOT Requête1.Mois;
>
> Requete2_Analyse croisée
> TRANSFORM Sum(Requete2.Ca_net) AS SommeDeCa_net
> SELECT Requete2.Commercial, Requete2.Libellé
> FROM Requete2
> GROUP BY Requete2.Commercial, Requete2.Libellé
> PIVOT Requete2.Mois;
>
> et
>
> SELECT *
> FROM [Requête1_Analyse croisée]
> Union
> Select *
> from [Requete2_Analyse croisée];
>
> Mais je te le redis Il faut que le nombre et l'ordre des champs dans tes
> requetes croisées soient rigoureusement identiques.
> Je pense au Nom de mois, il doivent exister dans toute tes requetes
>
> Le filtre sur commercial ne se faisant que sur la requete d'union.
> ex "select * from requeteUnion Where Commercial=" &
> me.listechoixcommercial
> @+
>
>




Publicité
Poster une réponse
Anonyme