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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
et que dit " TOP " ?
"Albert" <albert@invalid.com> a écrit dans le message de news:
irhiek$62l$1@speranza.aioe.org...
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.
"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
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
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" <alberic.maspac@gmail.com> a écrit dans le message de
news:irjd9v$fad$1@speranza.aioe.org...
et que dit " TOP " ?
"Albert" <albert@invalid.com> a écrit dans le message de news:
irhiek$62l$1@speranza.aioe.org...
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.
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
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
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$1@speranza.aioe.org...
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.
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
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
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" <th.tg@laposte.net> a écrit dans le message de
news:irr1ep$q0o$1@speranza.aioe.org...
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$1@speranza.aioe.org...
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.
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.