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

Regroupemeent avec dates

6 réponses
Avatar
albert
Peiné, le message précédent est incomplet.

Bonjour

Avec ACCESS je dois calculler le montant total que chaque membre a payé
entre 2010-et 2014.
En regroupement tout va bien si il n'y a pas de dates mentionnées.

Si j'utilise deux requêtes ( la première n'est pas regroupée) et (la
deuxième regroupée sans les dates) alors je peux calculler.
Voici les deux requêtes:

Requête4

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME, TBLcotisation.MontantCotisation,
TBLcotisation.DateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro =
TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
ORDER BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME;

deuxième requête :

SELECT [_Requête4].LASTNAME, [_Requête4].FIRSTNAME,
Sum([_Requête4].MontantCotisation) AS SommeDeMontantCotisation
FROM _Requête4
GROUP BY [_Requête4].LASTNAME, [_Requête4].FIRSTNAME;


J'imagine quìl possible d'arriver au même résultat avec une seule requête.
Merci de vos suggestions à venir


--
albertri-at-videotron.ca.invalid

6 réponses

Avatar
db
Bonsoir,

Essayer :

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME



db


Le 10/03/2016 22:37, albert a écrit :
Peiné, le message précédent est incomplet.

Bonjour

Avec ACCESS je dois calculler le montant total que chaque membre a payé
entre 2010-et 2014.
En regroupement tout va bien si il n'y a pas de dates mentionnées.

Si j'utilise deux requêtes ( la première n'est pas regroupée) et (la
deuxième regroupée sans les dates) alors je peux calculler.
Voici les deux requêtes:

Requête4

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
TBLcotisation.MontantCotisation,
TBLcotisation.DateCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro > TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
ORDER BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME;

deuxième requête :

SELECT [_Requête4].LASTNAME, [_Requête4].FIRSTNAME,
Sum([_Requête4].MontantCotisation) AS SommeDeMontantCotisation
FROM _Requête4
GROUP BY [_Requête4].LASTNAME, [_Requête4].FIRSTNAME;


J'imagine quìl possible d'arriver au même résultat avec une seule requête.
Merci de vos suggestions à venir


Avatar
albert
Bonsoir/Bonjour

"db" a écrit dans le message de
news:56e1f358$0$3347$

Malheureusement cela ignore complètement les dates, et le TOTAL est la somme
de la base de données entière.

Albert


Bonsoir,

Essayer :

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro > TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME



db
Avatar
albert
À l'attention de db
le fichier .accdb est sur http://www.cjoint.com/c/FClccHs4OTD

Les requête1 et requête2 sont les requêtes mentionnées dans mon premier
message.
La requete db est celle que vous avez suggérée

Un grand merci
Albert






"albert" a écrit dans le message de
news:nbt4jl$i94$
Bonsoir/Bonjour

"db" a écrit dans le message de
news:56e1f358$0$3347$

Malheureusement cela ignore complètement les dates, et le TOTAL est la
somme de la base de données entière.

Albert


Bonsoir,

Essayer :

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro >> TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME



db



Avatar
db
Bonjour,

Je n'avais pas vu : remplacez le OR par AND dans :
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# AND
(TBLcotisation.DateCotisation)<=#12/31/2015#))

ou, mieux :

WHERE (TBLcotisation.DateCotisation BETWEEN #1/1/2011# AND
#12/31/2015#)


db

Le 11/03/2016 03:08, albert a écrit :
À l'attention de db
le fichier .accdb est sur http://www.cjoint.com/c/FClccHs4OTD

Les requête1 et requête2 sont les requêtes mentionnées dans mon premier
message.
La requete db est celle que vous avez suggérée

Un grand merci
Albert






"albert" a écrit dans le message de
news:nbt4jl$i94$
Bonsoir/Bonjour

"db" a écrit dans le message de
news:56e1f358$0$3347$

Malheureusement cela ignore complètement les dates, et le TOTAL est la
somme de la base de données entière.

Albert


Bonsoir,

Essayer :

SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro >>> TBLcotisation.Numéro
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
(TBLcotisation.DateCotisation)<=#12/31/2015#))
GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME



db







Avatar
albert
Bonjour db

C'est parfait, je vous remercie.
Je dois quitter la ville, de retour tard ce soir ou demain, pour mes
commentaires.
Albert




"db" a écrit dans le message de
news:56e2714a$0$651$

Bonjour,

Je n'avais pas vu : remplacez le OR par AND dans :
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# AND
(TBLcotisation.DateCotisation)<=#12/31/2015#))

ou, mieux :

WHERE (TBLcotisation.DateCotisation BETWEEN #1/1/2011# AND
#12/31/2015#)


db

Le 11/03/2016 03:08, albert a écrit :
> À l'attention de db
> le fichier .accdb est sur http://www.cjoint.com/c/FClccHs4OTD
>
> Les requête1 et requête2 sont les requêtes mentionnées dans mon premier
> message.
> La requete db est celle que vous avez suggérée
>
> Un grand merci
> Albert
>
>
>
>
>
>
> "albert" a écrit dans le message de
> news:nbt4jl$i94$
>> Bonsoir/Bonjour
>>
>> "db" a écrit dans le message de
>> news:56e1f358$0$3347$
>>
>> Malheureusement cela ignore complètement les dates, et le TOTAL est la
>> somme de la base de données entière.
>>
>> Albert
>>
>>
>>> Bonsoir,
>>>
>>> Essayer :
>>>
>>> SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
>>> sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
>>> FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro > >>> TBLcotisation.Numéro
>>> WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
>>> (TBLcotisation.DateCotisation)<=#12/31/2015#))
>>> GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME
>>>
>>>
>>>
>>> db
>>
>
>

Avatar
albert
Re bonjour db
Je suis de retour plus tôt que prévu.
Depuis plusieurs jours que je m'interrogeais, je cherchais un moyen
d'exclure un champ d'un regroupement.
J'ai débuté sérieusement avec Access en 2010 car il n'y avait plus personne
pour s'occuper de la base de données
Je suis un autodidacte de plus de 80 maintenant, je ne suis pas un
informaticien.
Dans mes nombreux volumes, tutoriels en français sur Internet, je n'ai pas
trouvé beaucoup, seulement des filtres avant ou après ????

Ma réponse je l'ai trouvé cet après-midi, en anglais, sur :
https://support.office.com/en-us/article/GROUP-BY-Clause-84eeb766-25d2-4aa1-8eea-002bb65ef3a0

Use the WHERE clause to exclude rows you do not want grouped, and use the
HAVING clause to filter records after they have been grouped..

Dans la grosse bible de Hervé Inisan Access 2007, pas trouvé rien qui
explique aussi bien que ce court texte en anglais.

Un gros merci pour votre aide

Albert



"albert" a écrit dans le message de
news:nbug92$a91$
Bonjour db

C'est parfait, je vous remercie.
Je dois quitter la ville, de retour tard ce soir ou demain, pour mes
commentaires.
Albert




"db" a écrit dans le message de
news:56e2714a$0$651$

Bonjour,

Je n'avais pas vu : remplacez le OR par AND dans :
WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# AND
(TBLcotisation.DateCotisation)<=#12/31/2015#))

ou, mieux :

WHERE (TBLcotisation.DateCotisation BETWEEN #1/1/2011# AND
#12/31/2015#)


db

Le 11/03/2016 03:08, albert a écrit :
> À l'attention de db
> le fichier .accdb est sur http://www.cjoint.com/c/FClccHs4OTD
>
> Les requête1 et requête2 sont les requêtes mentionnées dans mon premier
> message.
> La requete db est celle que vous avez suggérée
>
> Un grand merci
> Albert
>
>
>
>
>
>
> "albert" a écrit dans le message de
> news:nbt4jl$i94$
>> Bonsoir/Bonjour
>>
>> "db" a écrit dans le message de
>> news:56e1f358$0$3347$
>>
>> Malheureusement cela ignore complètement les dates, et le TOTAL est la
>> somme de la base de données entière.
>>
>> Albert
>>
>>
>>> Bonsoir,
>>>
>>> Essayer :
>>>
>>> SELECT TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME,
>>> sum( TBLcotisation.MontantCotisation) AS SommeDeMontantCotisation
>>> FROM TBLmbcc RIGHT JOIN TBLcotisation ON TBLmbcc.Numéro >> >>> TBLcotisation.Numéro
>>> WHERE (((TBLcotisation.DateCotisation)>=#1/1/2011# Or
>>> (TBLcotisation.DateCotisation)<=#12/31/2015#))
>>> GROUP BY TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME
>>>
>>>
>>>
>>> db
>>
>
>