OVH Cloud OVH Cloud

Requête sur des dates

32 réponses
Avatar
Isabelle
Bonjour

Qui peut m'aider ?

J'ai une table avec en autres nom , datedebut, datefin, montant
exemple:
toto 01/03/2004 28/02/2007 200
tata 01/06/2005 31/05/2008 300
titi 01/04/2005 31/03/2008 500
tutu 01/01/2006 31/12/2015 200

Chaque année à la date anniversaire de datedebut, le montant doit être
révisé

J'aimerai créer une requête qui permettrait en fonction de l'année
choisie de visualiser les fiches concernées par une revalorisation
exemple
année choisie 2008
tata 01/06/2008
tutu 01/01/2008

La solution est sans doute très simple mais je dois chercher les
complications, je n'y arrive pô :-(


Merci d'avance pour vos conseils et solutions

Isabelle

10 réponses

1 2 3 4
Avatar
Isabelle
Super

C'était tout simple
ceci me convient parfaitement
= cdate("01/01/" & [Année de traitement ?])


maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans la
requête paramétrée ne pas afficher les enregistrements

Une idée ?

Merci

Avatar
Phil
Super

C'était tout simple
ceci me convient parfaitement
= cdate("01/01/" & [Année de traitement ?])


maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans la
requête paramétrée ne pas afficher les enregistrements

Une idée ?

Merci


dans la même requête tu peux indiquer plusieurs fois la même question
(exactement la même) elle ne te sera posée qu'une fois.
d'où la condition de [date révision]
< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" &
[Année de traitement ?])
te retournera les enregistrements ( si table révision liée à la table
principale) dont le champ [fin] est dans l'année de traitement mais pas
ceux dont [date révision] est dans cette année (càd ceux dont la
révision a déjà été traitée).

Phil


Avatar
Isabelle
Je ne savais pas quand posant la même question, cela apparaissait qu'une
seule fois

bon j'ai essayé d'ajouter la table "suivi" avec le champ révision du
et dans la zone critère ton expression

Résultat => aucun enregistrement

pourtant c'est exactement ceci que je voudrais
je cite
"les enregistrements ( si table révision liée à la table principale)
dont le champ [fin] est dans l'année de traitement mais pas ceux dont
[date révision] est dans cette année (càd ceux dont la révision a déjà
été traitée)."

Merci


Super

C'était tout simple
ceci me convient parfaitement
= cdate("01/01/" & [Année de traitement ?])


maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans la
requête paramétrée ne pas afficher les enregistrements

Une idée ?

Merci


dans la même requête tu peux indiquer plusieurs fois la même question
(exactement la même) elle ne te sera posée qu'une fois.
d'où la condition de [date révision]
< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" & [Année
de traitement ?])
te retournera les enregistrements ( si table révision liée à la table
principale) dont le champ [fin] est dans l'année de traitement mais pas
ceux dont [date révision] est dans cette année (càd ceux dont la
révision a déjà été traitée).

Phil






Avatar
Phil
Je ne savais pas quand posant la même question, cela apparaissait qu'une
seule fois

bon j'ai essayé d'ajouter la table "suivi" avec le champ révision du
et dans la zone critère ton expression

Résultat => aucun enregistrement

pourtant c'est exactement ceci que je voudrais
je cite
"les enregistrements ( si table révision liée à la table principale) dont le
champ [fin] est dans l'année de traitement mais pas ceux dont [date révision]
est dans cette année (càd ceux dont la révision a déjà été traitée)."

Merci


Super

C'était tout simple
ceci me convient parfaitement
= cdate("01/01/" & [Année de traitement ?])


maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans la
requête paramétrée ne pas afficher les enregistrements

Une idée ?

Merci


dans la même requête tu peux indiquer plusieurs fois la même question
(exactement la même) elle ne te sera posée qu'une fois.
d'où la condition de [date révision]
< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" & [Année de
traitement ?])
te retournera les enregistrements ( si table révision liée à la table
principale) dont le champ [fin] est dans l'année de traitement mais pas
ceux dont [date révision] est dans cette année (càd ceux dont la révision a
déjà été traitée).

Phil





change le Et en Ou dans ma dernière proposition !!!




Avatar
Isabelle
Je ne savais pas quand posant la même question, cela apparaissait qu'une
seule fois

bon j'ai essayé d'ajouter la table "suivi" avec le champ révision du
et dans la zone critère ton expression

Résultat => aucun enregistrement

pourtant c'est exactement ceci que je voudrais
je cite
"les enregistrements ( si table révision liée à la table principale)
dont le champ [fin] est dans l'année de traitement mais pas ceux dont
[date révision] est dans cette année (càd ceux dont la révision a déjà
été traitée)."



J'ai essayé
en indiquant ceci
cdate("01/01/" & [Année de traitement ?]) et < cdate("31/12/" &
[Année de traitement ?])


j'ai tous les enregistrements pour lesquels la révision a été faite
(tout le contraire de ce que je voudrais)

et avec

< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" & [Année
de traitement ?])

je n'ai aucun enregistrement

Avatar
Isabelle
ben non aucun enregistrement avec et ou avec ou :-(

Je ne savais pas quand posant la même question, cela apparaissait
qu'une seule fois

bon j'ai essayé d'ajouter la table "suivi" avec le champ révision du
et dans la zone critère ton expression

Résultat => aucun enregistrement

pourtant c'est exactement ceci que je voudrais
je cite
"les enregistrements ( si table révision liée à la table principale)
dont le champ [fin] est dans l'année de traitement mais pas ceux dont
[date révision] est dans cette année (càd ceux dont la révision a déjà
été traitée)."

Merci


Super

C'était tout simple
ceci me convient parfaitement
= cdate("01/01/" & [Année de traitement ?])


maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans
la requête paramétrée ne pas afficher les enregistrements

Une idée ?

Merci


dans la même requête tu peux indiquer plusieurs fois la même question
(exactement la même) elle ne te sera posée qu'une fois.
d'où la condition de [date révision]
< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" &
[Année de traitement ?])
te retournera les enregistrements ( si table révision liée à la table
principale) dont le champ [fin] est dans l'année de traitement mais
pas ceux dont [date révision] est dans cette année (càd ceux dont la
révision a déjà été traitée).

Phil





change le Et en Ou dans ma dernière proposition !!!








Avatar
Phil
Je ne savais pas quand posant la même question, cela apparaissait qu'une
seule fois

bon j'ai essayé d'ajouter la table "suivi" avec le champ révision du
et dans la zone critère ton expression

Résultat => aucun enregistrement

pourtant c'est exactement ceci que je voudrais
je cite
"les enregistrements ( si table révision liée à la table principale) dont
le champ [fin] est dans l'année de traitement mais pas ceux dont [date
révision] est dans cette année (càd ceux dont la révision a déjà été
traitée)."



J'ai essayé
en indiquant ceci
cdate("01/01/" & [Année de traitement ?]) et < cdate("31/12/" &
[Année de traitement ?])


j'ai tous les enregistrements pour lesquels la révision a été faite (tout le
contraire de ce que je voudrais)

et avec

< cdate("01/01/" & [Année de traitement ?]) et > cdate("31/12/" & [Année de
traitement ?])

je n'ai aucun enregistrement


Mea coulpa
une date ne peut pas être à la fois
antérieure au 01/01/2007 ET postérieure au 31/12/2007
condition impossible à réaliser d'où l'absence de résultat

par contre elle peut être
antérieure au 01/01/2007 OU postérieure au 31/12/2007
l'année 2007 est exclue

mais en fonction de ton traitement as-tu besoin
de > cdate("31/12/" & [Année de traitement ?]) ?
car si j'ai compris ton principe de traitement les enregistrements
répondant à cette conditions auront déjà été traité avec un an d'avance
!

Phil


Avatar
Michel_D
Super

C'était tout simple
ceci me convient parfaitement

= cdate("01/01/" & [Année de traitement ?])



maintenant il faut que je rajoute à ma requête la table "suivi"
dans laquelle j'indique
date de revision montant révisé

si date de revision correspond à l'année de traitement choisie dans la
requête paramétrée ne pas afficher les enregistrements

Une idée ?



La condition suivante te renverra les enregistrements qui ne sont pas
égal à [Année de traitement ?]

WHERE (Year([date de revision]<>[Année de traitement ?]))


Avatar
Michel_D
Super

C'était tout simple
ceci me convient parfaitement

= cdate("01/01/" & [Année de traitement ?])




Je te conseille plutôt de comparer par rapport à l'année

year(datefin) > [Année de traitement ?]


Avatar
Isabelle
Rebonjour,

hier obligée de tout laisser en plan donc pas pu répondre à vos messages

Ce matin je teste à nouveau donc ma requête
avec ma table locations
et dans le champ datefin j'indique le critère suivant
= CDate("01/01/" & [année de traitement ?])
ce qui permet d'afficher une boîte de dialogue et en indiquant une année

par exemple 2007, je visualiser tous les enregistrements dont la date de
fin est supérieure ou égale à l'année choisie
1 point de régler c'est exactement ce que je voulais

J'ai voulu ajouter la table suivi dans laquelle figure la date de
révision et le montant révisé le cas échéant

les tables sont reliés une location => plusieurs révisions

le résultat de la requête => les enregistrements pour lesquels il y a
une révision s'affichent alors que je voudrais le contraire

J'ai voulu essayé l'expression dans le critère du champ RevisionDu
Michel mais cela ne marche pas
je ne dois pas faire comme il faut

Oh! oh! je viens de tester quelque chose
J'ai modifié la jointure
en laissant la jointure 1 par défaut
soit "inclure seulement les lignes des deux tables pour lesquelles les
champs joints sont égaux"
=>seul les enregistrements pour lesquels il y a une révision s'affichent
en choisissant la jointure 2
soit "inclure tous les enregistrements de la table Locations et
seulement ceux de la tables Suivi pour lesquels les champs sont égaux"
=>tous les enregistrements dont la date de fin est supérieure ou égale à
l'année choisie s'affichent

donc il ne me reste plus qu'à ajouter un critère dans le champ date
révision
la date de révision ne doit pas correspondre à l'année choisie

Merci d'avance



Super

C'était tout simple
ceci me convient parfaitement

= cdate("01/01/" & [Année de traitement ?])




Je te conseille plutôt de comparer par rapport à l'année

year(datefin) > [Année de traitement ?]




1 2 3 4