OVH Cloud OVH Cloud

Trier un état sur un regroupement

5 réponses
Avatar
Triptic
Bonjour,

J'ai une table contenant un très grand nombre d'enregistrements de factures.
J'ai créé un état de regroupement qui me donne le total des factures par
clients. Mais les clients sont listés par ordre alphabétique. Alors que je
voudrais que l'état me présente les factures des plus gros clients en
premier en les classant par ordre décroissant basé sur leur total de
factures tel que calculé dans l'état ? . Quelle serait la meilleure façon de
procéder ? Comment ensuite modifier l'état pour n'éditer que les 50 plus
gros clients par leur total des factures ?

Merci d'avance pour vos suggestions.


Stef.

5 réponses

Avatar
3stone
Salut,

"Triptic"
| J'ai une table contenant un très grand nombre d'enregistrements de factures.
| J'ai créé un état de regroupement qui me donne le total des factures par
| clients. Mais les clients sont listés par ordre alphabétique. Alors que je
| voudrais que l'état me présente les factures des plus gros clients en
| premier en les classant par ordre décroissant basé sur leur total de
| factures tel que calculé dans l'état ? . Quelle serait la meilleure façon de
| procéder ? Comment ensuite modifier l'état pour n'éditer que les 50 plus
| gros clients par leur total des factures ?


Il te faut donc déjà cette information (total facture) dans la source de ton état...

si tu n'utilise pas de sous état (pour les détails) cela risque d'être long...

un DSum("Prix";"TableDétail";"NumFacture=" & NumFacture)

devrait te remonter cela...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Triptic
"3stone" a écrit dans le message de news:

Salut,

"Triptic"
| J'ai une table contenant un très grand nombre d'enregistrements de
factures.
| J'ai créé un état de regroupement qui me donne le total des factures par
| clients. Mais les clients sont listés par ordre alphabétique. Alors que
je
| voudrais que l'état me présente les factures des plus gros clients en
| premier en les classant par ordre décroissant basé sur leur total de
| factures tel que calculé dans l'état ? . Quelle serait la meilleure
façon de
| procéder ? Comment ensuite modifier l'état pour n'éditer que les 50 plus
| gros clients par leur total des factures ?


Il te faut donc déjà cette information (total facture) dans la source de
ton état...

si tu n'utilise pas de sous état (pour les détails) cela risque d'être
long...

un DSum("Prix";"TableDétail";"NumFacture=" & NumFacture)

devrait te remonter cela...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/

Merci, sur cette suggestion, j'ai donc essayé d'ajouter un champs calculé

qui totaliserait les factures dans ma requêtes. Cela donne l'expression
suivante qui me renvoit une erreur du type il manque une opérande :
TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=" & [FACTURE])

Qu'est ce qui manque dans cette expression ?

Merci de votre aide.

Avatar
3stone
Salut,

"Triptic"
[...]
| Merci, sur cette suggestion, j'ai donc essayé d'ajouter un champs calculé
| qui totaliserait les factures dans ma requêtes. Cela donne l'expression
| suivante qui me renvoit une erreur du type il manque une opérande :
| TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=" & [FACTURE])
|
| Qu'est ce qui manque dans cette expression ?


[Facture] (No de la facture ?) est bien numérique ?

si texte, écrire :
TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=' " & [FACTURE] & " ' ")

sans les espaces entre apostrophes et guillemets !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Triptic
"3stone" a écrit dans le message de news:

Salut,

"Triptic"
[...]
| Merci, sur cette suggestion, j'ai donc essayé d'ajouter un champs
calculé
| qui totaliserait les factures dans ma requêtes. Cela donne l'expression
| suivante qui me renvoit une erreur du type il manque une opérande :
| TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=" & [FACTURE])
|
| Qu'est ce qui manque dans cette expression ?


[Facture] (No de la facture ?) est bien numérique ?

si texte, écrire :
TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=' " & [FACTURE] & " '
")

sans les espaces entre apostrophes et guillemets !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/

Merci Pierre,


Effectivement mon numéro de facture est en texte. J'ai modifié la formule et
le message d'erreur a bien disparu. Toutefois mon champs total est resté
vide bien que la machine est tourné toute la nuit. D'ailleurs elle ne répond
plus.

Faut il au préalable que les numéros de factures soit dans un ordre
particulier ? Si oui comment faire pour les trier ?

Tu évoquais une solution plus rapide lorsque la table est voluminineuse en
passant par les sous-états ?

Avatar
3stone
Salut,

"Triptic"
|
| "3stone"
| > si texte, écrire :
| > TOTAL: SomDom("[MONTANT FACTURE]";"Table";"[FACTURE]=' " & [FACTURE] & " '
| > ")
| >
| > sans les espaces entre apostrophes et guillemets !
|
|
| Effectivement mon numéro de facture est en texte. J'ai modifié la formule et
| le message d'erreur a bien disparu. Toutefois mon champs total est resté
| vide bien que la machine est tourné toute la nuit. D'ailleurs elle ne répond
| plus.
|
| Faut il au préalable que les numéros de factures soit dans un ordre
| particulier ? Si oui comment faire pour les trier ?


Non, pas d'ordre particulier, mais...

[Montant Facture] doit être le champ de "détail facture" qui contient
le montant de l'article... que tu devras éventuellement calculer

DSum("[Prix]*[Quantité]";"[NomTableDétail]";"[NoFacture]='" & [NoFacture] & "'")



| Tu évoquais une solution plus rapide lorsque la table est voluminineuse en
| passant par les sous-états ?

L'état étant basé sur la table facture, un sous-état basé sur la table "DétailFacture"
De cette façon, le DSum() n'est effectué q'une fois par facture et non pour
chaque ligne de détail...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/