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

Access Max-1

10 réponses
Avatar
albert
Bonjjour

Avec ACCESS il est facille de trouver la dernière date dans une requête
regroupée en utilisant MAX.

[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,

Y a-t'il une façon de trouver l'avant dernière date ??

Merci de vous intéresser à mon problème.

--
albertri-at-videotron.ca.invalid

10 réponses

Avatar
db
Le 04/09/2016 à 19:35, albert a écrit :
Bonjjour
Avec ACCESS il est facille de trouver la dernière date dans une requête
regroupée en utilisant MAX.
[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
Y a-t'il une façon de trouver l'avant dernière date ??
Merci de vous intéresser à mon problème.

[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
where TBLCotisation.DateCotisation < (select
max(TBLCotisation.DateCotisation) from ... where ...)
db
Avatar
albert
Bonjour
"db" a écrit dans le message de
news:57cc61dd$0$7125$
Le 04/09/2016 à 19:35, albert a écrit :
Bonjjour
Avec ACCESS il est facille de trouver la dernière date dans une requête
regroupée en utilisant MAX.
[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
Y a-t'il une façon de trouver l'avant dernière date ??
Merci de vous intéresser à mon problème.

[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
where TBLCotisation.DateCotisation < (select
max(TBLCotisation.DateCotisation) from ... where ...)
db

Je ne saisi pas très bien ce qu'il faut faire dans la requête
J'ai déjà dans une colonne j'ai la plus récente date de cotisation du
membre avec MAX
Dans une autre colonne, j'ai aussi besoin de connaître la date de son
avant-dernière cotisation, si elle existe.
(Faire l'équivalent de Petite-Valeur de Excel)
Merci
--
albertri-at-videotron.ca.invalid
Avatar
albert
Bonsoir/ Bonjour
Voir requête simplifiée à la fin.
"albert" a écrit dans le message de
news:nqhrjo$2s0$
Bonjour
"db" a écrit dans le message de
news:57cc61dd$0$7125$
Le 04/09/2016 à 19:35, albert a écrit :
Bonjjour
Avec ACCESS il est facille de trouver la dernière date dans une requête
regroupée en utilisant MAX.
[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
Y a-t'il une façon de trouver l'avant dernière date ??
Merci de vous intéresser à mon problème.

[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
where TBLCotisation.DateCotisation < (select
max(TBLCotisation.DateCotisation) from ... where ...)
db

Je ne saisi pas très bien ce qu'il faut faire dans la requête
J'ai déjà dans une colonne j'ai la plus récente date de cotisation du
membre avec MAX
Dans une autre colonne, j'ai aussi besoin de connaître la date de son
avant-dernière cotisation, si elle existe.
(Faire l'équivalent de Petite-Valeur de Excel)
Merci

Voici la requête qui donne la dernière date (La plus récente)
J'ai besoin de trouver la date de la cotisation précédente si elle existe
pour ce membre.
SELECT CapitaliserNom([lastname]) & ", " & CapitaliserPrénom([firstname]) AS
NomComplet, Max(TBLcotisation.DateCotisation) AS MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro =
TBLcotisation.Numéro
GROUP BY TBLmbcc.[ACTIF], TBLmbcc.Numéro, CapitaliserNom([lastname]) & ", "
& CapitaliserPrénom([firstname])
HAVING (((TBLmbcc.[ACTIF])=Yes))
ORDER BY Max(TBLcotisation.DateCotisation) DESC;
Merci de m'aider
--
albertri-at-videotron.ca.invalid
Avatar
db
Le 05/09/2016 à 01:37, albert a écrit :
Voici la requête qui donne la dernière date (La plus récente)
J'ai besoin de trouver la date de la cotisation précédente si elle
existe pour ce membre.
SELECT CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet,
Max(TBLcotisation.DateCotisation) AS MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro > TBLcotisation.Numéro
GROUP BY TBLmbcc.[ACTIF], TBLmbcc.Numéro, CapitaliserNom([lastname]) &
", " & CapitaliserPrénom([firstname])
HAVING (((TBLmbcc.[ACTIF])=Yes))
ORDER BY Max(TBLcotisation.DateCotisation) DESC;

Bonjour,
A mon avis, il faut faire trois requêtes :
R1 : select TBLmcc.numero,max(TblCotisation.DateCotisation) as
MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro TBLcotisation.Numéro
where ACTIF=Yes
group by TBLmcc.Numéro
R2 : select tbl1.numéro,max(TbC1.DateCotisation) as SousMaxDeDateCotisation
FROM TBLmbcc tbl1 RIGHT JOIN TBLcotisation tbc1 ON tbl1.Numéro tbc1.Numéro
where ACTIF=Yes and tbc1.DateCotisation<(select Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro)
group by tbl1.numero
R3 : select SELECT CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet,MaxDeDateCotisation,
SousMaxDeDateCotisation
from TBLMcc right join r1 on r1.numéro=TBLMcc.Numéro
right Join R2 on r2.numéro=TBLMcc.Numéro
order by maxdedatecotisation desc
Pas testé, mais c'est l'idée : R1 est la requête qui renvoie le n° de
membre avec sa date max, R2 renvoie le n° de membre avec la date
précédent la date max, R3 affiche le tout.
db
Avatar
albert
Bonjour db,
Tel quel ça ne fonctionne pas, il y a des erreurs de syntaxe.
Je vais travailler dessus et si je réussi je vous fais savoir.
Merci
Albert
"db" a écrit dans le message de
news:57cd1e4c$0$7968$
Le 05/09/2016 à 01:37, albert a écrit :
Bonjour,
A mon avis, il faut faire trois requêtes :
R1 : select TBLmcc.numero,max(TblCotisation.DateCotisation) as
R2 : select tbl1.numéro,max(TbC1.DateCotisation) as
SousMaxDeDateCotisation
R3 : select SELECT CapitaliserNom([lastname]) & ", " &
Pas testé, mais c'est l'idée : R1 est la requête qui renvoie le n° de
membre avec sa date max, R2 renvoie le n° de membre avec la date précédent
la date max, R3 affiche le tout.
db
Avatar
albert
Bonjour
Voilà ça fonctionne avec seulement deux requêtes, voir à la fin.
R1 : select TBLmcc.numero,max(TblCotisation.DateCotisation) as
MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro > TBLcotisation.Numéro
where ACTIF=Yes
group by TBLmcc.Numéro
R2 : select tbl1.numéro,max(TbC1.DateCotisation) as
SousMaxDeDateCotisation
FROM TBLmbcc tbl1 RIGHT JOIN TBLcotisation tbc1 ON tbl1.Numéro > tbc1.Numéro
where ACTIF=Yes and tbc1.DateCotisation<(select Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro > tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro)
group by tbl1.numero
R3 : select SELECT CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet,MaxDeDateCotisation,
SousMaxDeDateCotisation
from TBLMcc right join r1 on r1.numéro=TBLMcc.Numéro
right Join R2 on r2.numéro=TBLMcc.Numéro
order by maxdedatecotisation desc
Pas testé, mais c'est l'idée : R1 est la requête qui renvoie le n° de
membre avec sa date max, R2 renvoie le n° de membre avec la date précédent
la date max, R3 affiche le tout. db

Voilà il manquait un accent à numéro et autres petits problèmes.
Voici les deux requêtes qui donnent le résutat attendu.
_R1
SELECT TBLmbcc.[ACTIF], TBLcotisation.Numéro,
Max(TBLcotisation.DateCotisation) AS MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro =
TBLcotisation.Numéro
GROUP BY TBLmbcc.[ACTIF], TBLcotisation.Numéro
HAVING (((TBLmbcc.[ACTIF])=Yes));
_R2
SELECT tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet, Max(tbc1.DateCotisation) AS
SousMaxDeDateCotisation
FROM TBLmbcc AS tbl1 RIGHT JOIN TBLcotisation AS tbc1 ON tbl1.Numéro =
tbc1.Numéro
WHERE (((tbl1.[ACTIF])=Yes) AND ((tbc1.DateCotisation)<(select
Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro = tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro)))
GROUP BY tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname])
ORDER BY Max(tbc1.DateCotisation) DESC;
Bon, je ne sais pas où ou comment vous avez appris, mais vos réponses
fonctionnent,
et je crois pas les trouver dans le manuel du débutant.
Il me reste beaucoup de chemin à faire...
Merci
Albert
Avatar
microsoft.access
Le dimanche 4 septembre 2016 19:35:07 UTC+2, albert a écrit :
Bonjjour
Avec ACCESS il est facille de trouver la dernière date dans une req uête
regroupée en utilisant MAX.
[joinDATE],Null) AS Nouveaux, Max(TBLcotisation.DateCotisation) AS
MaxDeDateCotisation,
Y a-t'il une façon de trouver l'avant dernière date ??
Merci de vous intéresser à mon problème.
--
albertri-at-videotron.ca.invalid

OU....
select top 1 matable.champs1, matable.champs2, etc.... from matable order b y matable.champdate desc;
Avatar
albert
"albert" a écrit dans le message de
news:nqkb7m$1sgo$
Bonjour
Voilà ça fonctionne avec seulement deux requêtes,

Mais nous avons un petit raffinement à ajouter, Voir à la fin.
Voici les deux requêtes qui donnent le résutat attendu.
_R1
SELECT TBLmbcc.[ACTIF], TBLcotisation.Numéro,
Max(TBLcotisation.DateCotisation) AS MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro =
TBLcotisation.Numéro
GROUP BY TBLmbcc.[ACTIF], TBLcotisation.Numéro
HAVING (((TBLmbcc.[ACTIF])=Yes));
_R2
SELECT tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet, Max(tbc1.DateCotisation) AS
SousMaxDeDateCotisation
FROM TBLmbcc AS tbl1 RIGHT JOIN TBLcotisation AS tbc1 ON tbl1.Numéro =
tbc1.Numéro
WHERE (((tbl1.[ACTIF])=Yes) AND ((tbc1.DateCotisation)<(select
Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro =
tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro)))
GROUP BY tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname])
ORDER BY Max(tbc1.DateCotisation) DESC;

Parmi ceux qui s'abonnent cette année nous voulons la liste de ceux qui nous
avaient quitté 1 an ou plus et qui reviennent.
Donc seulement ceux qui se sont abonnés depuis 2016-03-01 et dont la date
de la cotisation précédente est inférieure 2014-12-31.
(cette annéée la période de réinscription intensive et du 23 août au 30
septembre)
J'ai modifié la requête R1 en ajoutant le MAX > 16-03-01
SELECT TBLmbcc.[ACTIF], TBLcotisation.Numéro,
Max(TBLcotisation.DateCotisation) AS MaxDeDateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro =
TBLcotisation.Numéro
GROUP BY TBLmbcc.[ACTIF], TBLcotisation.Numéro
HAVING (((TBLmbcc.[ACTIF])=Yes) AND
((Max(TBLcotisation.DateCotisation))>=#3/1/2016#))
ORDER BY Max(TBLcotisation.DateCotisation) DESC;
Mais je n'ai pu ajuster la requete R2 pour seuement les inscrits de 2016
Merci si vous pouvez résoudre
--
albertri-at-videotron.ca.invalid
Avatar
db
Le 06/09/2016 à 22:45, albert a écrit :
"albert" a écrit dans le message de
news:nqkb7m$1sgo$
Bonjour


...
Mais je n'ai pu ajuster la requete R2 pour seuement les inscrits de 2016
Merci si vous pouvez résoudre

Pas sûr d'avoir compris, mais peut-être ça :
_R2
SELECT tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet, Max(tbc1.DateCotisation)
AS SousMaxDeDateCotisation
FROM TBLmbcc AS tbl1 RIGHT JOIN TBLcotisation AS tbc1 ON tbl1.Numéro tbc1.Numéro
WHERE (((tbl1.[ACTIF])=Yes) AND ((tbc1.DateCotisation)<(select
Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro
and DateCotisation > #3/1/2016#)))
GROUP BY tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname])
ORDER BY Max(tbc1.DateCotisation) DESC;
db
Avatar
albert
Bonsoir et Merci
C'est exactement ce que nous recherchions, faire la liste de ceux qui nous
avaient quittés et qui nous reviennent après quelques années loin de nous.
Voir la liste, les noms qui nous intéressent sont en bleu.
http://www.cjoint.com/c/FIht4YIhpF4
Un grand merci
Albert
"db" a écrit dans le message de
news:57d051d0$0$7984$
Le 06/09/2016 à 22:45, albert a écrit :
"albert" a écrit dans le message de
news:nqkb7m$1sgo$
Bonjour
...
Mais je n'ai pu ajuster la requete R2 pour seuement les inscrits de 2016
Merci si vous pouvez résoudre

Pas sûr d'avoir compris, mais peut-être ça :
_R2
SELECT tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname]) AS NomComplet, Max(tbc1.DateCotisation)
AS SousMaxDeDateCotisation
FROM TBLmbcc AS tbl1 RIGHT JOIN TBLcotisation AS tbc1 ON tbl1.Numéro > tbc1.Numéro
WHERE (((tbl1.[ACTIF])=Yes) AND ((tbc1.DateCotisation)<(select
Max(tbc2.Datecotisation)
FROM TBLmbcc tbl2 RIGHT JOIN TBLcotisation tbc2 ON tbl2.Numéro > tbc2.Numéro
where actif=Yes and tbl2.numéro=tbl1.numéro
and DateCotisation > #3/1/2016#)))
GROUP BY tbl1.numéro, CapitaliserNom([lastname]) & ", " &
CapitaliserPrénom([firstname])
ORDER BY Max(tbc1.DateCotisation) DESC;
db