Regroupement DERNIER

Le
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
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
Albéric
Le #23391851
et que dit " TOP " ?


"Albert" 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


Albert
Le #23398581
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" news:irjd9v$fad$
et que dit " TOP " ?


"Albert" 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






Thierry
Le #23398791
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
Albert
Le #23399181
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" 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

Publicité
Poster une réponse
Anonyme