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

Regroupement DERNIER

4 réponses
Avatar
Albert
Bonjour / Bonsoir

J'ai une requête en regroupement qui fonctionne bien, sinon que je ne peux
pas avoir la dernière transaction. Car DERNIER est erratique.

Selon Ms (kb463373) pour afficher cette dernière transaction il faut faire
une deuxième requête.

La première requête est basée sur la date la plus récente.
Champ: DateDernierDon: DateDonReçu
Table : TBL DonsReçus
Opération: Max
Tri: Croissant


Ici-bas cette requête En SQL:
SELECT [TBL DonsReçus].NoDuMembre, Max([TBL DonsReçus].DateDonReçu) AS
DateDernierDon, [TBL Membres].Nom, [TBL Membres].Prénom, Sum([TBL
DonsReçus].MontantReçu) AS SommeDeMontantReçu, Last([TBL
DonsReçus].MontantReçu) AS DernierDeMontantReçu, Count([TBL
DonsReçus].MontantReçu) AS CompteDeMontantReçu
FROM [TBL Membres] INNER JOIN [TBL DonsReçus] ON [TBL
Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre
WHERE ((([TBL Membres].NomEnlevé)=No))
GROUP BY [TBL DonsReçus].NoDuMembre, [TBL Membres].Nom, [TBL Membres].Prénom
ORDER BY Max([TBL DonsReçus].DateDonReçu);

Dans la deuxième requête je ne réussi pas à formuler le critère pour
sélectionner l'enregistrement correspondant à la date ... Max([TBL
DonsReçus].DateDonReçu) AS DateDernierDon,...

Si je mets une date critère tel que = #2010-02-21# access affichera
correctement les enregistrements correspondants à cette date.

Merci de me consacrer quelques instants de votre temps, je dois m'absenter
mais je serai de retour samedi.


--
albertri-at-videotron.ca.invalid

4 réponses

Avatar
Albéric
et que dit " TOP " ?


"Albert" a écrit dans le message de news:
irhiek$62l$
Bonjour / Bonsoir

J'ai une requête en regroupement qui fonctionne bien, sinon que je ne peux
pas avoir la dernière transaction. Car DERNIER est erratique.

Selon Ms (kb463373) pour afficher cette dernière transaction il faut faire
une deuxième requête.

La première requête est basée sur la date la plus récente.
Champ: DateDernierDon: DateDonReçu
Table : TBL DonsReçus
Opération: Max
Tri: Croissant


Ici-bas cette requête En SQL:
SELECT [TBL DonsReçus].NoDuMembre, Max([TBL DonsReçus].DateDonReçu) AS
DateDernierDon, [TBL Membres].Nom, [TBL Membres].Prénom, Sum([TBL
DonsReçus].MontantReçu) AS SommeDeMontantReçu, Last([TBL
DonsReçus].MontantReçu) AS DernierDeMontantReçu, Count([TBL
DonsReçus].MontantReçu) AS CompteDeMontantReçu
FROM [TBL Membres] INNER JOIN [TBL DonsReçus] ON [TBL
Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre
WHERE ((([TBL Membres].NomEnlevé)=No))
GROUP BY [TBL DonsReçus].NoDuMembre, [TBL Membres].Nom, [TBL
Membres].Prénom
ORDER BY Max([TBL DonsReçus].DateDonReçu);

Dans la deuxième requête je ne réussi pas à formuler le critère pour
sélectionner l'enregistrement correspondant à la date ... Max([TBL
DonsReçus].DateDonReçu) AS DateDernierDon,...

Si je mets une date critère tel que = #2010-02-21# access affichera
correctement les enregistrements correspondants à cette date.

Merci de me consacrer quelques instants de votre temps, je dois m'absenter
mais je serai de retour samedi.


--
albertri-at-videotron.ca.invalid


Avatar
Albert
Bonjour

Ce que je cherche c'est la façon de composer ma 2e requête pour y intégrer
la valeur Max(date) de la première requête pour aller chercher la valeur de
la transaction correspondand à cette date.
Merci

albert


"Albéric" a écrit dans le message de
news:irjd9v$fad$
et que dit " TOP " ?


"Albert" a écrit dans le message de news:
irhiek$62l$
Bonjour / Bonsoir

J'ai une requête en regroupement qui fonctionne bien, sinon que je ne
peux pas avoir la dernière transaction. Car DERNIER est erratique.

Selon Ms (kb463373) pour afficher cette dernière transaction il faut
faire une deuxième requête.

La première requête est basée sur la date la plus récente.
Champ: DateDernierDon: DateDonReçu
Table : TBL DonsReçus
Opération: Max
Tri: Croissant


Ici-bas cette requête En SQL:
SELECT [TBL DonsReçus].NoDuMembre, Max([TBL DonsReçus].DateDonReçu) AS
DateDernierDon, [TBL Membres].Nom, [TBL Membres].Prénom, Sum([TBL
DonsReçus].MontantReçu) AS SommeDeMontantReçu, Last([TBL
DonsReçus].MontantReçu) AS DernierDeMontantReçu, Count([TBL
DonsReçus].MontantReçu) AS CompteDeMontantReçu
FROM [TBL Membres] INNER JOIN [TBL DonsReçus] ON [TBL
Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre
WHERE ((([TBL Membres].NomEnlevé)=No))
GROUP BY [TBL DonsReçus].NoDuMembre, [TBL Membres].Nom, [TBL
Membres].Prénom
ORDER BY Max([TBL DonsReçus].DateDonReçu);

Dans la deuxième requête je ne réussi pas à formuler le critère pour
sélectionner l'enregistrement correspondant à la date ... Max([TBL
DonsReçus].DateDonReçu) AS DateDernierDon,...

Si je mets une date critère tel que = #2010-02-21# access affichera
correctement les enregistrements correspondants à cette date.

Merci de me consacrer quelques instants de votre temps, je dois
m'absenter mais je serai de retour samedi.


--
albertri-at-videotron.ca.invalid






Avatar
Thierry
Bonjour,
Voici un exemple qui pourra peut être vous être utile.
Il utilise une sous-requête dans la requête principale.

Dans une table (MaTable), il permet de rechercher la dernière note ( la
note la + récente donc) obtenue par des agents :

SELECT MaTable.numagt, MaTable.notval, MaTable.notdat
FROM MaTable
WHERE (((MaTable.notdat)=(SELECT max(notdat) FROM MaTable as X WHERE
X.numagt = MaTable.numagt )))
ORDER BY MaTable.numagt;

Il vous suffit de l'adapter à votre cas.
Pensez à créer des index dans votre table, cela pourra accélerer l'exécution
Bon courage.
Thierry

"Albert" a écrit dans le message de groupe de discussion :
irhiek$62l$

Bonjour / Bonsoir

J'ai une requête en regroupement qui fonctionne bien, sinon que je ne peux
pas avoir la dernière transaction. Car DERNIER est erratique.

Selon Ms (kb463373) pour afficher cette dernière transaction il faut faire
une deuxième requête.

La première requête est basée sur la date la plus récente.
Champ: DateDernierDon: DateDonReçu
Table : TBL DonsReçus
Opération: Max
Tri: Croissant


Ici-bas cette requête En SQL:
SELECT [TBL DonsReçus].NoDuMembre, Max([TBL DonsReçus].DateDonReçu) AS
DateDernierDon, [TBL Membres].Nom, [TBL Membres].Prénom, Sum([TBL
DonsReçus].MontantReçu) AS SommeDeMontantReçu, Last([TBL
DonsReçus].MontantReçu) AS DernierDeMontantReçu, Count([TBL
DonsReçus].MontantReçu) AS CompteDeMontantReçu
FROM [TBL Membres] INNER JOIN [TBL DonsReçus] ON [TBL
Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre
WHERE ((([TBL Membres].NomEnlevé)=No))
GROUP BY [TBL DonsReçus].NoDuMembre, [TBL Membres].Nom, [TBL Membres].Prénom
ORDER BY Max([TBL DonsReçus].DateDonReçu);

Dans la deuxième requête je ne réussi pas à formuler le critère pour
sélectionner l'enregistrement correspondant à la date ... Max([TBL
DonsReçus].DateDonReçu) AS DateDernierDon,...

Si je mets une date critère tel que = #2010-02-21# access affichera
correctement les enregistrements correspondants à cette date.

Merci de me consacrer quelques instants de votre temps, je dois m'absenter
mais je serai de retour samedi.


--
albertri-at-videotron.ca.invalid
Avatar
Albert
Bonjour et Merci Thierry

Il va me falloir apprendre à faire des sous-requêtes, en attendant le
problème est résolu en utilisant l'exemple de MS KB463373. Il faut lier le
MAX(date) et la date du fichier DonsReçus. J'ai fini par comprendre.

Voici le code SQL de la 2e requête.

SELECT RQTDernierDon.NoDuMembre, [TBL Membres].Nom, [TBL
DonsReçus].DateDonReçu, [TBL DonsReçus].MontantReçu
FROM RQTDernierDon INNER JOIN ([TBL Membres] INNER JOIN [TBL DonsReçus] ON
[TBL Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre) ON
(RQTDernierDon.NoDuMembre = [TBL DonsReçus].NoDuMembre) AND
(RQTDernierDon.DateDernierDon = [TBL DonsReçus].DateDonReçu)
ORDER BY RQTDernierDon.NoDuMembre;

merci

albert


"Thierry" a écrit dans le message de
news:irr1ep$q0o$
Bonjour,
Voici un exemple qui pourra peut être vous être utile.
Il utilise une sous-requête dans la requête principale.

Dans une table (MaTable), il permet de rechercher la dernière note ( la
note la + récente donc) obtenue par des agents :

SELECT MaTable.numagt, MaTable.notval, MaTable.notdat
FROM MaTable
WHERE (((MaTable.notdat)=(SELECT max(notdat) FROM MaTable as X WHERE
X.numagt = MaTable.numagt )))
ORDER BY MaTable.numagt;

Il vous suffit de l'adapter à votre cas.
Pensez à créer des index dans votre table, cela pourra accélerer
l'exécution
Bon courage.
Thierry

"Albert" a écrit dans le message de groupe de discussion :
irhiek$62l$

Bonjour / Bonsoir

J'ai une requête en regroupement qui fonctionne bien, sinon que je ne peux
pas avoir la dernière transaction. Car DERNIER est erratique.

Selon Ms (kb463373) pour afficher cette dernière transaction il faut faire
une deuxième requête.

La première requête est basée sur la date la plus récente.
Champ: DateDernierDon: DateDonReçu
Table : TBL DonsReçus
Opération: Max
Tri: Croissant


Ici-bas cette requête En SQL:
SELECT [TBL DonsReçus].NoDuMembre, Max([TBL DonsReçus].DateDonReçu) AS
DateDernierDon, [TBL Membres].Nom, [TBL Membres].Prénom, Sum([TBL
DonsReçus].MontantReçu) AS SommeDeMontantReçu, Last([TBL
DonsReçus].MontantReçu) AS DernierDeMontantReçu, Count([TBL
DonsReçus].MontantReçu) AS CompteDeMontantReçu
FROM [TBL Membres] INNER JOIN [TBL DonsReçus] ON [TBL
Membres].No_enregistrement = [TBL DonsReçus].NoDuMembre
WHERE ((([TBL Membres].NomEnlevé)=No))
GROUP BY [TBL DonsReçus].NoDuMembre, [TBL Membres].Nom, [TBL
Membres].Prénom
ORDER BY Max([TBL DonsReçus].DateDonReçu);

Dans la deuxième requête je ne réussi pas à formuler le critère pour
sélectionner l'enregistrement correspondant à la date ... Max([TBL
DonsReçus].DateDonReçu) AS DateDernierDon,...

Si je mets une date critère tel que = #2010-02-21# access affichera
correctement les enregistrements correspondants à cette date.

Merci de me consacrer quelques instants de votre temps, je dois m'absenter
mais je serai de retour samedi.


--
albertri-at-videotron.ca.invalid