OVH Cloud OVH Cloud

Tri des données - regroupement

7 réponses
Avatar
Mario
Bonjour,

J'ai un =E9tat bas=E9 sur une requ=EAte.
Il comporte deux ent=EAtes de groupe.
Je souhaiterais que les donn=E9es reprises dans le=20
regroupement soient tri=E9es
Je ne vois pas comment je peux appliquer ce tri.

Exemple :
Regroupement des d=E9penses d'un m=E9nage par cat=E9gorie:
Requ=EAte qui contient les champs : MOIS - CATEGORIE -=20
MONTANT
La base de donn=E9es ressemblerait =E0 ceci :

JANVIER VETEMENTS 200
JANVIER VETEMENTS 300
JANVIER RESTAURANT 100
JANVIER RESTAURANT 300
JANVIER VOITURE 150
JANVIER VOITURE 100
JANVIER VOITURE 050
FEVRIER ...

L'=E9tat qui en d=E9coule reprend les donn=E9es sous cette forme=20

JANVIER
VETEMENTS 500
RESTAURANT 400
VOITURE 300
FEVRIER
...

Comment trier sur la somme des montants des d=E9penses (de=20
la plus grande =E0 la plus petite).
Pour l'instant le tri se fait sur la CATEGORIE.


Merci pour votre aide.
Mario

7 réponses

Avatar
Raymond [mvp]
Bonjour.

Dans un état, la seule façon d'appliquer les tris est :
mode modification / menu affichage / trier et grouper
rajouter les champs de tri dans la fenêtre, dans l'ordre d'importance des
champs.
Le tri sur la requête est ignoré.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit dans le message de
news:62e101c4930d$24e6f430$
Bonjour,

J'ai un état basé sur une requête.
Il comporte deux entêtes de groupe.
Je souhaiterais que les données reprises dans le
regroupement soient triées
Je ne vois pas comment je peux appliquer ce tri.

Exemple :
Regroupement des dépenses d'un ménage par catégorie:
Requête qui contient les champs : MOIS - CATEGORIE -
MONTANT
La base de données ressemblerait à ceci :

JANVIER VETEMENTS 200
JANVIER VETEMENTS 300
JANVIER RESTAURANT 100
JANVIER RESTAURANT 300
JANVIER VOITURE 150
JANVIER VOITURE 100
JANVIER VOITURE 050
FEVRIER ...

L'état qui en découle reprend les données sous cette forme

JANVIER
VETEMENTS 500
RESTAURANT 400
VOITURE 300
FEVRIER
...

Comment trier sur la somme des montants des dépenses (de
la plus grande à la plus petite).
Pour l'instant le tri se fait sur la CATEGORIE.


Merci pour votre aide.
Mario
Avatar
Mario
Oui c'est juste,
mais dans ce cas la difficulté c'est que je voudrais trier
sur un contrôle qui est la somme résultante du
regroupement et je ne vois pas comment faire.
Merci


-----Message d'origine-----
Bonjour.

Dans un état, la seule façon d'appliquer les tris est :
mode modification / menu affichage / trier et grouper
rajouter les champs de tri dans la fenêtre, dans l'ordre
d'importance des

champs.
Le tri sur la requête est ignoré.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit
dans le message de

news:62e101c4930d$24e6f430$
Bonjour,

J'ai un état basé sur une requête.
Il comporte deux entêtes de groupe.
Je souhaiterais que les données reprises dans le
regroupement soient triées
Je ne vois pas comment je peux appliquer ce tri.

Exemple :
Regroupement des dépenses d'un ménage par catégorie:
Requête qui contient les champs : MOIS - CATEGORIE -
MONTANT
La base de données ressemblerait à ceci :

JANVIER VETEMENTS 200
JANVIER VETEMENTS 300
JANVIER RESTAURANT 100
JANVIER RESTAURANT 300
JANVIER VOITURE 150
JANVIER VOITURE 100
JANVIER VOITURE 050
FEVRIER ...

L'état qui en découle reprend les données sous cette forme

JANVIER
VETEMENTS 500
RESTAURANT 400
VOITURE 300
FEVRIER
....

Comment trier sur la somme des montants des dépenses (de
la plus grande à la plus petite).
Pour l'instant le tri se fait sur la CATEGORIE.


Merci pour votre aide.
Mario


.



Avatar
Raymond [mvp]
Bonsoir.

Tu ne peux trier la source d'un état que sur un champ existant dans la
requête. il faudrait que tu puisses faire un regroupement sur ta requête
pour pouvoir créer un champ calculé dans ta requête, mais ceci est-il
possible ? apparemment non.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit dans le message de
news:650401c4937d$86018c60$
Oui c'est juste,
mais dans ce cas la difficulté c'est que je voudrais trier
sur un contrôle qui est la somme résultante du
regroupement et je ne vois pas comment faire.
Merci
Avatar
Mario
Cela ne semble en effet pas possible de trier sur un champ
calculé.

Il faudrait que les données regroupées soient injectées
dans une nouvelle requête ou table temporaire. L'état se
ferait alors sur base de cette nouvelle table.
Mais comment réaliser ce regroupement par code ? et
l'envoyer dans une nouvelle table ? Ou dit autrement
comment envoyer les données dans un fichier au lieu de les
envoyer dans un état ?

Merci
-----Message d'origine-----
Bonsoir.

Tu ne peux trier la source d'un état que sur un champ
existant dans la

requête. il faudrait que tu puisses faire un regroupement
sur ta requête

pour pouvoir créer un champ calculé dans ta requête, mais
ceci est-il

possible ? apparemment non.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit
dans le message de

news:650401c4937d$86018c60$
Oui c'est juste,
mais dans ce cas la difficulté c'est que je voudrais trier
sur un contrôle qui est la somme résultante du
regroupement et je ne vois pas comment faire.
Merci



.



Avatar
Raymond [mvp]
le regroupement dans une requête n'est pas comme le regroupement dans un
état. D'abord, est-ce possible de calculer ce contrôle calculé dans une
requête et à quelle clé ou référence va-ton le rattacher ? si oui il
faudrait créer cette requête et la rajouter à ta requête actuelle avec une
liaison sur le champ clé. mais je n'y crois pas trop.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit dans le message de
news:726201c4949e$8a8b5ff0$
Cela ne semble en effet pas possible de trier sur un champ
calculé.

Il faudrait que les données regroupées soient injectées
dans une nouvelle requête ou table temporaire. L'état se
ferait alors sur base de cette nouvelle table.
Mais comment réaliser ce regroupement par code ? et
l'envoyer dans une nouvelle table ? Ou dit autrement
comment envoyer les données dans un fichier au lieu de les
envoyer dans un état ?

Merci
Avatar
Yann
Salut,
Je pense qu'il est possible de le faire avec la fonction
somme...
SELECT Table1.Mois, Table1.Catégorie, Sum(Table1.montant)
AS SumOfmontant
FROM Table1
GROUP BY Table1.Mois, Table1.Catégorie
ORDER BY Sum(Table1.montant) DESC;


Bye
Yann

-----Message d'origine-----
le regroupement dans une requête n'est pas comme le
regroupement dans un

état. D'abord, est-ce possible de calculer ce contrôle
calculé dans une

requête et à quelle clé ou référence va-ton le
rattacher ? si oui il

faudrait créer cette requête et la rajouter à ta requête
actuelle avec une

liaison sur le champ clé. mais je n'y crois pas trop.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit
dans le message de

news:726201c4949e$8a8b5ff0$
Cela ne semble en effet pas possible de trier sur un
champ

calculé.

Il faudrait que les données regroupées soient injectées
dans une nouvelle requête ou table temporaire. L'état se
ferait alors sur base de cette nouvelle table.
Mais comment réaliser ce regroupement par code ? et
l'envoyer dans une nouvelle table ? Ou dit autrement
comment envoyer les données dans un fichier au lieu de
les

envoyer dans un état ?

Merci


.



Avatar
Raymond [mvp]
ok, est-ce que tu as ta clé pour faire la jointure avec l'autre requête ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yann" a écrit dans le message de
news:092101c494e5$739ac140$
Salut,
Je pense qu'il est possible de le faire avec la fonction
somme...
SELECT Table1.Mois, Table1.Catégorie, Sum(Table1.montant)
AS SumOfmontant
FROM Table1
GROUP BY Table1.Mois, Table1.Catégorie
ORDER BY Sum(Table1.montant) DESC;


Bye
Yann

-----Message d'origine-----
le regroupement dans une requête n'est pas comme le
regroupement dans un

état. D'abord, est-ce possible de calculer ce contrôle
calculé dans une

requête et à quelle clé ou référence va-ton le
rattacher ? si oui il

faudrait créer cette requête et la rajouter à ta requête
actuelle avec une

liaison sur le champ clé. mais je n'y crois pas trop.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Mario" a écrit
dans le message de

news:726201c4949e$8a8b5ff0$
Cela ne semble en effet pas possible de trier sur un
champ

calculé.

Il faudrait que les données regroupées soient injectées
dans une nouvelle requête ou table temporaire. L'état se
ferait alors sur base de cette nouvelle table.
Mais comment réaliser ce regroupement par code ? et
l'envoyer dans une nouvelle table ? Ou dit autrement
comment envoyer les données dans un fichier au lieu de
les

envoyer dans un état ?

Merci


.