Regroupemeent avec dates

Le
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
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
db
Le #26392203
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


albert
Le #26392211
Bonsoir/Bonjour

"db" 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
albert
Le #26392213
À 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" news:nbt4jl$i94$
Bonsoir/Bonjour

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



db
Le #26392217
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" news:nbt4jl$i94$
Bonsoir/Bonjour

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







albert
Le #26392260
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" 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" > news:nbt4jl$i94$
>> Bonsoir/Bonjour
>>
>> "db" >> 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
>>
>
>

albert
Le #26392306
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" 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" 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" > news:nbt4jl$i94$
>> Bonsoir/Bonjour
>>
>> "db" >> 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
>>
>
>





Publicité
Poster une réponse
Anonyme