Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trier les résultats d'une requête

6 réponses
Avatar
archibald-1er
Bonjour à tous,

Je ne parviens pas à trier les résultats d'une requête.

J'ai créé une requête pour afficher la liste des destinataires de mes colis du jour sur laquelle figure le numéro de chaque commande, le nom de chaque destinaitaire, leur adresse complète et le poids de chaque colis en vue de générer un fichier Excel (qui est ensuite importé sur le logiciel d'expédition mis à disposition par mon transporteur).

Depuis mon formulaire de saisie de commande, je clique sur le bouton que j'ai créé à cet effet qui lance l'exécution d'une macro (qui contient seulement l'action "ExporterAvecMiseEnForme") sur ma requête "ReqLivraison_CSVInfosDestinataire".

Mon problème est le suivant : si un même client m'a commandé 3 articles différents (correspondant à 3 lignes de commande dans mon formulaire), celui-ci apparait 3 fois dans mon fichier (sous le même numéro de commande), me contraignant à additionner manuellement le poids de chacune des 3 lignes de commandes, puis à supprimer les 2 lignes en trop sur mon fichier faisant doublon avec ce destinataire.
Ce qui est béta, vous en conviendrez.

Quelqu'un peut-il m'aider ?

Je pense que la solution à mon problème se trouve dans une nouvelle action à insérer dans ma macro (quelque chose du type "appliquerFiltre" ou DéfinirFiltre) mais ne suis pas familier de cette fonction et ne sait pas du tout comment rédiger la ligne "Condition Where".

Merci tout plein d'avance pour votre aide.

Archibald

6 réponses

Avatar
3stone
Salut,

archibald-1er wrote:
Je ne parviens pas à trier les résultats d'une requête.


[...]

Mon problème est le suivant : si un même client m'a commandé 3
articles différents (correspondant à 3 lignes de commande dans mon
formulaire), celui-ci apparait 3 fois dans mon fichier (sous le même
numéro de commande), me contraignant à additionner manuellement le
poids de chacune des 3 lignes de commandes, puis à supprimer les 2
lignes en trop sur mon fichier faisant doublon avec ce destinataire.




Tu aurais dû donner la phrase SQL de ta requête, ou pour le moins,
le nom exact des champs et tables concernées

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
archibald-1er
3stone a écrit le 14/12/2010 à 00h23 :
Salut,

archibald-1er wrote:
Je ne parviens pas à trier les résultats d'une requête.



[...]

Mon problème est le suivant : si un même client m'a
commandé 3
articles différents (correspondant à 3 lignes de commande dans
mon
formulaire), celui-ci apparait 3 fois dans mon fichier (sous le même
numéro de commande), me contraignant à additionner manuellement
le
poids de chacune des 3 lignes de commandes, puis à supprimer les 2
lignes en trop sur mon fichier faisant doublon avec ce destinataire.





Tu aurais dû donner la phrase SQL de ta requête, ou pour le moins,
le nom exact des champs et tables concernées

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)


Autant pour moi (je n'utilise jamais le SQL que je ne connais pas, je me borne a faire glisser des champs dans la requête en mode création et à entrer des critères ou sélectionner un tri croissant / décroissant dans le menu déroulant disponible). Vous l'aurez compris, je suis autodidacte et très amateur...

Merci d'ores et déjà d'avoir pris le temps de lire ma demande.

Ci-dessous le texte demandé :

SELECT DISTINCTROW [Fichiers principal].Société, Commandes.DateExpédition, Commandes.N°Commande, Commandes.Destinataire, Commandes.AdresseLivraison1, Commandes.AdresseLivraison2, Commandes.CodePostalLivraison, Commandes.VilleLivraison, Pays_1.libelle_pays_fr AS PaysLivraison, Commandes.TelLivraison, [Détail commandes].Quantité, Produits.PoidsUnitaireBrut, Round((([quantité]*[PoidsUnitaireBrut])*1.15),0) AS PoidsCde, Commandes.Notes
FROM ((Contact INNER JOIN (Produits INNER JOIN ([Fichiers principal] INNER JOIN (Commandes INNER JOIN [Détail commandes] ON Commandes.[N°Commande] = [Détail commandes].[N°Commande]) ON [Fichiers principal].CodeClient = Commandes.CodeClient) ON Produits.RefProduit = [Détail commandes].RefProduit) ON Contact.id_societe = [Fichiers principal].CodeClient) INNER JOIN Pays ON [Fichiers principal].Pays = Pays.id_pays) INNER JOIN Pays AS Pays_1 ON Commandes.PaysLivraison = Pays_1.id_pays
WHERE ((([Fichiers principal].Société) Like "Amazon*" Or ([Fichiers principal].Société)="Rue du commerce" Or ([Fichiers principal].Société) Like "PIXMANIA*") AND ((Commandes.DateExpédition)Úte()))
ORDER BY Commandes.N°Commande;

Si vous avez besoin d'autres précisions, je vous les fournirai bien volontiers.

Archibald.
Avatar
3stone
Salut,

archibald-1er wrote:
Mon problème est le suivant : si un même client m'a
commandé 3
articles différents (correspondant à 3 lignes de commande dans
mon
formulaire), celui-ci apparait 3 fois dans mon fichier (sous le même
numéro de commande), me contraignant à additionner manuellement
le
poids de chacune des 3 lignes de commandes, puis à supprimer les 2
lignes en trop sur mon fichier faisant doublon avec ce destinataire.





Ci-dessous le texte demandé :

SELECT DISTINCTROW [Fichiers principal].Société,
Commandes.DateExpédition, Commandes.N°Commande,
Commandes.Destinataire, Commandes.AdresseLivraison1,
Commandes.AdresseLivraison2, Commandes.CodePostalLivraison,
Commandes.VilleLivraison, Pays_1.libelle_pays_fr AS PaysLivraison,
Commandes.TelLivraison, [Détail commandes].Quantité,
Produits.PoidsUnitaireBrut,
Round((([quantité]*[PoidsUnitaireBrut])*1.15),0) AS PoidsCde,
Commandes.Notes FROM ((Contact INNER JOIN (Produits INNER JOIN
([Fichiers principal] INNER JOIN (Commandes INNER JOIN [Détail
commandes] ON Commandes.[N°Commande] = [Détail
commandes].[N°Commande]) ON [Fichiers principal].CodeClient > Commandes.CodeClient) ON Produits.RefProduit = [Détail
commandes].RefProduit) ON Contact.id_societe = [Fichiers
principal].CodeClient) INNER JOIN Pays ON [Fichiers principal].Pays > Pays.id_pays) INNER JOIN Pays AS Pays_1 ON Commandes.PaysLivraison > Pays_1.id_pays
WHERE ((([Fichiers principal].Société) Like "Amazon*" Or ([Fichiers
principal].Société)="Rue du commerce" Or ([Fichiers
principal].Société) Like "PIXMANIA*") AND
((Commandes.DateExpédition)Úte()))
ORDER BY Commandes.N°Commande;




Le plus simple, serait de créer une seconde requête qui sera basée
sur la première. Y faire un regroupement sur les champs et la Somme
sur le champ "PoidsCde".

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
archibald-1er
3stone a écrit le 15/12/2010 à 04h09 :
Salut,

archibald-1er wrote:
Mon problème est le suivant : si un même client m'a
commandé 3
articles différents (correspondant à 3 lignes de commande dans
mon
formulaire), celui-ci apparait 3 fois dans mon fichier (sous le même
numéro de commande), me contraignant à additionner
manuellement
le
poids de chacune des 3 lignes de commandes, puis à supprimer les 2
lignes en trop sur mon fichier faisant doublon avec ce destinataire.







Ci-dessous le texte demandé :

SELECT DISTINCTROW [Fichiers principal].Société,
Commandes.DateExpédition, Commandes.N°Commande,
Commandes.Destinataire, Commandes.AdresseLivraison1,
Commandes.AdresseLivraison2, Commandes.CodePostalLivraison,
Commandes.VilleLivraison, Pays_1.libelle_pays_fr AS PaysLivraison,
Commandes.TelLivraison, [Détail commandes].Quantité,
Produits.PoidsUnitaireBrut,
Round((([quantité]*[PoidsUnitaireBrut])*1.15),0) AS PoidsCde,
Commandes.Notes FROM ((Contact INNER JOIN (Produits INNER JOIN
([Fichiers principal] INNER JOIN (Commandes INNER JOIN [Détail
commandes] ON Commandes.[N°Commande] = [Détail
commandes].[N°Commande]) ON [Fichiers principal].CodeClient >
Commandes.CodeClient) ON Produits.RefProduit = [Détail
commandes].RefProduit) ON Contact.id_societe = [Fichiers
principal].CodeClient) INNER JOIN Pays ON [Fichiers principal].Pays >
Pays.id_pays) INNER JOIN Pays AS Pays_1 ON Commandes.PaysLivraison >
Pays_1.id_pays
WHERE ((([Fichiers principal].Société) Like "Amazon*"
Or ([Fichiers
principal].Société)="Rue du commerce" Or ([Fichiers
principal].Société) Like "PIXMANIA*") AND
((Commandes.DateExpédition)Úte()))
ORDER BY Commandes.N°Commande;





Le plus simple, serait de créer une seconde requête qui sera
basée
sur la première. Y faire un regroupement sur les champs et la Somme
sur le champ "PoidsCde".

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)


Bonjour. j'ai créé une seconde requête basée sur la première. En revanche je ne sais pas comment procéder à un regroupement (sur mon champ numéro de commande je présume). Merci de vos lumières...
Avatar
3stone
Salut,

archibald-1er wrote:
[...]
Bonjour. j'ai créé une seconde requête basée sur la première. En
revanche je ne sais pas comment procéder à un regroupement (sur mon
champ numéro de commande je présume). Merci de vos lumières...




Via le menu Affichage/Totaux

ou, via la barre d'outils de création de requête, le bouton "Totaux"


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
archibald-1er
3stone a écrit le 20/12/2010 à 15h56 :
Salut,

archibald-1er wrote:
[...]
Bonjour. j'ai créé une seconde requête basée sur la
première. En
revanche je ne sais pas comment procéder à un regroupement (sur
mon
champ numéro de commande je présume). Merci de vos
lumières...





Via le menu Affichage/Totaux

ou, via la barre d'outils de création de requête, le bouton
"Totaux"


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)


Ca marche !
Merci infiniment pour votre aide précieuse.
Quelques minutes pour vous, des dizaines d'heures économisées pour moi.
Vive le web.
Merci encore.
Archibald.