J'ai une requête ou j'extrais un mois et une année.
Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le
mois extrait/l'année extraite?
Vous allez rire, mais je suis très loin d'y arriver. Très très loin
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
3stone
Salut,
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
"jc"
| J'ai une requête ou j'extrais un mois et une année.
| Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le
| mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Je reprends. Supposons que j'ai un champ qui est datLiv Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le critère sur ce champ mois mois(date())-1. Je suis en septembre, il me sélectionne celles du mois précédent. Je refais l'opération pour l'année:: annee:année([datliv]) avec comme critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà me plaisait
merci
"3stone" a écrit dans le message de news:
Salut,
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Je reprends.
Supposons que j'ai un champ qui est datLiv
Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le
critère sur ce champ mois mois(date())-1. Je suis en septembre, il me
sélectionne celles du mois précédent.
Je refais l'opération pour l'année:: annee:année([datliv]) avec comme
critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que
je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà
me plaisait
merci
"3stone" <3stone_@_skynet_be> a écrit dans le message de news:
OYYqOeUtFHA.3864@TK2MSFTNGP12.phx.gbl...
Salut,
"jc"
| J'ai une requête ou j'extrais un mois et une année.
| Je voudrais faire une autre requête avec 01/01 et l'année extraite au
31/le
| mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Je reprends. Supposons que j'ai un champ qui est datLiv Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le critère sur ce champ mois mois(date())-1. Je suis en septembre, il me sélectionne celles du mois précédent. Je refais l'opération pour l'année:: annee:année([datliv]) avec comme critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà me plaisait
merci
"3stone" a écrit dans le message de news:
Salut,
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Fais une requête avec Regroupement (Sigma dans la barre d'outils) sur la table concernée 1er champ : Qté Totale:[QLIV] - Opération : Somme - Afficher : Coché 2eme champ [DatLiv] - Opération : où - Afficher : Non Coché Critère sur le 2eme champ : (sur 1 seule ligne) Entre SérieDate(Année(Date());1;1) Et SérieDate(Année(Date());Mois(Date())-1;1)
Merci Pierre.
Je reprends. Supposons que j'ai un champ qui est datLiv Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le critère sur ce champ mois mois(date())-1. Je suis en septembre, il me sélectionne celles du mois précédent. Je refais l'opération pour l'année:: annee:année([datliv]) avec comme critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà me plaisait
merci
"3stone" a écrit dans le message de news:
Salut,
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour jc,
Fais une requête avec Regroupement (Sigma dans la barre d'outils) sur la
table concernée
1er champ : Qté Totale:[QLIV] - Opération : Somme - Afficher : Coché
2eme champ [DatLiv] - Opération : où - Afficher : Non Coché
Critère sur le 2eme champ : (sur 1 seule ligne)
Entre SérieDate(Année(Date());1;1) Et
SérieDate(Année(Date());Mois(Date())-1;1)
Merci Pierre.
Je reprends.
Supposons que j'ai un champ qui est datLiv
Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le
critère sur ce champ mois mois(date())-1. Je suis en septembre, il me
sélectionne celles du mois précédent.
Je refais l'opération pour l'année:: annee:année([datliv]) avec comme
critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que
je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà
me plaisait
merci
"3stone" <3stone_@_skynet_be> a écrit dans le message de news:
OYYqOeUtFHA.3864@TK2MSFTNGP12.phx.gbl...
Salut,
"jc"
| J'ai une requête ou j'extrais un mois et une année.
| Je voudrais faire une autre requête avec 01/01 et l'année extraite au
31/le
| mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Fais une requête avec Regroupement (Sigma dans la barre d'outils) sur la table concernée 1er champ : Qté Totale:[QLIV] - Opération : Somme - Afficher : Coché 2eme champ [DatLiv] - Opération : où - Afficher : Non Coché Critère sur le 2eme champ : (sur 1 seule ligne) Entre SérieDate(Année(Date());1;1) Et SérieDate(Année(Date());Mois(Date())-1;1)
Merci Pierre.
Je reprends. Supposons que j'ai un champ qui est datLiv Je crée un champ dans ma requete qui va être: Mois::mois(datliv) avec le critère sur ce champ mois mois(date())-1. Je suis en septembre, il me sélectionne celles du mois précédent. Je refais l'opération pour l'année:: annee:année([datliv]) avec comme critère de sélection année(date()).
J'obtiens 8 (numéro du mois et 2005 l'année).
J'obitens bien tous les champs et les sommes recherchées. Maintenant, ce que je voudrais, c'est faire un cumuil: 01/01/année au 31/mois/année
Si trop hard...enfin incompréhension, je vais procéder autrement..mais celà me plaisait
merci
"3stone" a écrit dans le message de news:
Salut,
"jc" | J'ai une requête ou j'extrais un mois et une année. | Je voudrais faire une autre requête avec 01/01 et l'année extraite au 31/le | mois extrait/l'année extraite?
Relus 3 fois, mais toujours pas certain d'avoir compris ;-)
DateSerial(Year(Date());1;1)
DateSerial(Year(Date();Month(Date());1)
| Vous allez rire, mais je suis très loin d'y arriver. Très très loin
Effectivement dans la solution adaptée de la remarque de Pierre, il y a un décalage d'1 mois pour ton cumul dans la formule que je te proposais dès lors que le mois calculé n'est pas Janvier. Par ex: pour le mois courant on s'arrêtait au 31/07 au lieu du 31/08.
Il doit y avoir plus simple mais ca ne me vient pas à l'esprit. Aussi je te propose la formule suivante qui teste si le mois courant est Janvier ou un autre et en fonction définit la date d'arrêt.
C'est sans garantie et sans l'aval des spécialistes ;-) J'attends d'ailleurs leurs remarques *toujours constructives* , {mais après tests, apparemment ca donnerait le résultat escompté !}
En définitive, la formula devient : Entre SérieDate(Année(Date());1;1) Et VraiFaux(Mois(Date())>1;SérieDate(Année(Date());Mois(Date());1)-1;SérieDate(Année(Date());Mois(Date());Jour(Date())))
Derriere le 'Et' on peux interpréter comme suit : Si le rang du mois courant est > à 1 alors on retient comme date de fin le 1er jour du mois - 1 jour pour ne pas tenir compte du 1er puisque j'utilise l'opérateur 'Entre' qui comptabilise les bornes inf et sup (dans ton cas on ne doit pas prendre la borne sup, donc on enlève 1 jour. Ceci permet de faire déterminer automatiquement le rang du dernier jour du mois à prendre.) Sinon, on retient, pour le jour, comme borne sup le jour du calcul.
Ainsi, si on est le 09/01/05, la borne sup sera le 09/01/05.
Mais si on est le 10/09/05 alors la borne sup sera le 31/08/05 |SérieDate(Année(Date());Mois(Date());1) ---> 01/09/05 |SérieDate(Année(Date());Mois(Date());1) - 1 ---> 31/08/05
PS : il t'est possible de forcer la date de fin en Janvier au 31. Pour cela, tu remplaces Jour(Date()) par 31
Voila, j'espère qu'il n'y aura plus de problème.
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Effectivement dans la solution adaptée de la remarque de Pierre, il y a
un décalage d'1 mois pour ton cumul dans la formule que je te proposais
dès lors que le mois calculé n'est pas Janvier.
Par ex: pour le mois courant on s'arrêtait au 31/07 au lieu du 31/08.
Il doit y avoir plus simple mais ca ne me vient pas à l'esprit. Aussi je
te propose la formule suivante qui teste si le mois courant est Janvier
ou un autre et en fonction définit la date d'arrêt.
C'est sans garantie et sans l'aval des spécialistes ;-)
J'attends d'ailleurs leurs remarques *toujours constructives* ,
{mais après tests, apparemment ca donnerait le résultat escompté !}
En définitive, la formula devient :
Entre SérieDate(Année(Date());1;1) Et
VraiFaux(Mois(Date())>1;SérieDate(Année(Date());Mois(Date());1)-1;SérieDate(Année(Date());Mois(Date());Jour(Date())))
Derriere le 'Et' on peux interpréter comme suit :
Si le rang du mois courant est > à 1 alors on retient comme date de fin
le 1er jour du mois - 1 jour pour ne pas tenir compte du 1er puisque
j'utilise l'opérateur 'Entre' qui comptabilise les bornes inf et sup
(dans ton cas on ne doit pas prendre la borne sup, donc on enlève 1
jour. Ceci permet de faire déterminer automatiquement le rang du dernier
jour du mois à prendre.)
Sinon, on retient, pour le jour, comme borne sup le jour du calcul.
Ainsi, si on est le 09/01/05, la borne sup sera le 09/01/05.
Mais si on est le 10/09/05 alors la borne sup sera le 31/08/05
|SérieDate(Année(Date());Mois(Date());1) ---> 01/09/05
|SérieDate(Année(Date());Mois(Date());1) - 1 ---> 31/08/05
PS : il t'est possible de forcer la date de fin en Janvier au 31. Pour
cela, tu remplaces Jour(Date()) par 31
Voila, j'espère qu'il n'y aura plus de problème.
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Effectivement dans la solution adaptée de la remarque de Pierre, il y a un décalage d'1 mois pour ton cumul dans la formule que je te proposais dès lors que le mois calculé n'est pas Janvier. Par ex: pour le mois courant on s'arrêtait au 31/07 au lieu du 31/08.
Il doit y avoir plus simple mais ca ne me vient pas à l'esprit. Aussi je te propose la formule suivante qui teste si le mois courant est Janvier ou un autre et en fonction définit la date d'arrêt.
C'est sans garantie et sans l'aval des spécialistes ;-) J'attends d'ailleurs leurs remarques *toujours constructives* , {mais après tests, apparemment ca donnerait le résultat escompté !}
En définitive, la formula devient : Entre SérieDate(Année(Date());1;1) Et VraiFaux(Mois(Date())>1;SérieDate(Année(Date());Mois(Date());1)-1;SérieDate(Année(Date());Mois(Date());Jour(Date())))
Derriere le 'Et' on peux interpréter comme suit : Si le rang du mois courant est > à 1 alors on retient comme date de fin le 1er jour du mois - 1 jour pour ne pas tenir compte du 1er puisque j'utilise l'opérateur 'Entre' qui comptabilise les bornes inf et sup (dans ton cas on ne doit pas prendre la borne sup, donc on enlève 1 jour. Ceci permet de faire déterminer automatiquement le rang du dernier jour du mois à prendre.) Sinon, on retient, pour le jour, comme borne sup le jour du calcul.
Ainsi, si on est le 09/01/05, la borne sup sera le 09/01/05.
Mais si on est le 10/09/05 alors la borne sup sera le 31/08/05 |SérieDate(Année(Date());Mois(Date());1) ---> 01/09/05 |SérieDate(Année(Date());Mois(Date());1) - 1 ---> 31/08/05
PS : il t'est possible de forcer la date de fin en Janvier au 31. Pour cela, tu remplaces Jour(Date()) par 31
Voila, j'espère qu'il n'y aura plus de problème.
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
jc
Ne riez pas, je pense avoir compris. Je teste le mois.
%Merci encore et très, mais très bonne journée à vous deux.
Bye Bye
"3stone" a écrit dans le message de news: %
"jc" | Pourquoi la question qui vexe? Pourquoi tant de haine? :-)
Hé ! Ho !!
Il n'y a ni vexation, ni haine ;-(
Je t'avais mis la solution deux lignes plus bas ! (et lue et commentée par Eric)
Tu as des problème de lecteur du news ? tu rate des messages ?