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

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
Bonjour

J'ai essayé ton expression, cela ne marche pas ou je ne l'ai pas écrite
comme il faut

A noter en ajoutant ma table suivi, le champ date de révision n'est pas
forcément rempli (pas encore de révision effectuée)

Si j'indique Est Null, j'ai tous les enregistrements pour lesquels il
n'y a pas de révision mais toutes années confondues
exemple un contrat du
du 18/03/2006 au 17/03/2009
une révision a été faite le 18/03/2007
si je demande année 2008 je n'aurai pas cette personne à tort
car la révision n'a pas été faite

Si j'indique <01/01/2007 pour tester
je n'ai rien du tout si aucune révision n'a été faite avant 2007

c'est compliqué !



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
Eric
Bonjour Isabelle,

Peux-tu mettre un extrait de ta bd( juste quelques enregistrements
significatifs de tes tables) au format Access2000 ( à zipper si
nécessaire) sur www.cjoint.com et poster le lien ici ?

Bonjour

J'ai essayé ton expression, cela ne marche pas ou je ne l'ai pas écrite
comme il faut

A noter en ajoutant ma table suivi, le champ date de révision n'est pas
forcément rempli (pas encore de révision effectuée)

Si j'indique Est Null, j'ai tous les enregistrements pour lesquels il
n'y a pas de révision mais toutes années confondues
exemple un contrat du
du 18/03/2006 au 17/03/2009
une révision a été faite le 18/03/2007
si je demande année 2008 je n'aurai pas cette personne à tort
car la révision n'a pas été faite

Si j'indique <01/01/2007 pour tester
je n'ai rien du tout si aucune révision n'a été faite avant 2007

c'est compliqué !



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 ?]



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Phil
Bonjour

J'ai essayé ton expression, cela ne marche pas ou je ne l'ai pas écrite comme
il faut

A noter en ajoutant ma table suivi, le champ date de révision n'est pas
forcément rempli (pas encore de révision effectuée)

Si j'indique Est Null, j'ai tous les enregistrements pour lesquels il n'y a
pas de révision mais toutes années confondues
exemple un contrat du
du 18/03/2006 au 17/03/2009
une révision a été faite le 18/03/2007
si je demande année 2008 je n'aurai pas cette personne à tort
car la révision n'a pas été faite

Si j'indique <01/01/2007 pour tester
je n'ai rien du tout si aucune révision n'a été faite avant 2007

c'est compliqué !



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 ?]



pour écrire l'expréssion proposée par Michel_D
il faut la décoposer en deux
sur la ligne champ tu ajoute un champ calculé comme celà
Annee : year([DateFin])
et sur la ligne condition de ce champ calculé tu saisie
[Année de traitement ?]


phil




Avatar
Isabelle
Bonjour

la base est ici http://cjoint.com/?leoolY68q8
la requête sur laquelle j'essaye de faire ce qui me pose problème est la
requête4

Merci




Bonjour Isabelle,

Peux-tu mettre un extrait de ta bd( juste quelques enregistrements
significatifs de tes tables) au format Access2000 ( à zipper si
nécessaire) sur www.cjoint.com et poster le lien ici ?

Bonjour

J'ai essayé ton expression, cela ne marche pas ou je ne l'ai pas
écrite comme il faut

A noter en ajoutant ma table suivi, le champ date de révision n'est
pas forcément rempli (pas encore de révision effectuée)

Si j'indique Est Null, j'ai tous les enregistrements pour lesquels il
n'y a pas de révision mais toutes années confondues
exemple un contrat du
du 18/03/2006 au 17/03/2009
une révision a été faite le 18/03/2007
si je demande année 2008 je n'aurai pas cette personne à tort
car la révision n'a pas été faite

Si j'indique <01/01/2007 pour tester
je n'ai rien du tout si aucune révision n'a été faite avant 2007

c'est compliqué !



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
ben j'ai fait comme tu m'as dit
mais résultat de la requête = aucun enregistrement :-(



pour écrire l'expréssion proposée par Michel_D
il faut la décoposer en deux
sur la ligne champ tu ajoute un champ calculé comme celà
Annee : year([DateFin])
et sur la ligne condition de ce champ calculé tu saisie
[Année de traitement ?]


phil





Avatar
Phil
ben j'ai fait comme tu m'as dit
mais résultat de la requête = aucun enregistrement :-(



pour écrire l'expréssion proposée par Michel_D
il faut la décoposer en deux
sur la ligne champ tu ajoute un champ calculé comme celà
Annee : year([DateFin])
et sur la ligne condition de ce champ calculé tu saisie
[Année de traitement ?]


phil





Je viens de regarder ta base
cela semble ok mais il faut que ta requête 4 soit modifiée

ton besoin c'est bien d'obtenir :
"les enregistrements dont le champ [Au] est dans l'année de traitement
mais pas ceux dont [Revision Du] est dans cette année (càd ceux dont la
révision a déjà été traitée)."

alors pourquoi dans la requête 4 la condition de Année c'est
[Année de traitement ?] ce qui est equivalent à ecrire =[Année de
traitement ?]
pour correspondre à la demande il faut <> [Année de traitement ?] ou
Not [Année de traitement ?]

de plus rétablis la jonction des tables avec l'option 1 "Inclure
seulement les lignes des deux tables pour lesquelles les champs joints
sont égaux"

Permet moi une petite remarque : tester cette requête avec un seul
enregistrement dans la table "Suivi" ne me semble pas la situation la
plus favorable pour examiner les différents cas qui peuvent se
présenter.
Je te suggère de créer de toute pièce les différents cas que tu
rencontrera et de tester tes requêtes avec, les résultats des tests
seront plus probants.

Phil



Avatar
Isabelle
ton besoin c'est bien d'obtenir :
"les enregistrements dont le champ [Au] est dans l'année de traitement
mais pas ceux dont [Revision Du] est dans cette année (càd ceux dont la
révision a déjà été traitée)."


exact tout à fait

alors pourquoi dans la requête 4 la condition de Année c'est
[Année de traitement ?] ce qui est equivalent à ecrire =[Année de
traitement ?]
tout simplement parce que j'avais tester plusieurs solutions et j'ai

supprimer les signes juste avant l'envoi de la basse

pour correspondre à la demande il faut <> [Année de traitement ?] ou
Not [Année de traitement ?]


ben non =>aucun enregistrement tu peux tester

de plus rétablis la jonction des tables avec l'option 1 "Inclure
seulement les lignes des deux tables pour lesquelles les champs joints
sont égaux"


en rétablissant la jonction c'est pareil => aucun enregistrement

Permet moi une petite remarque : tester cette requête avec un seul
enregistrement dans la table "Suivi" ne me semble pas la situation la
plus favorable pour examiner les différents cas qui peuvent se présenter.
Je te suggère de créer de toute pièce les différents cas que tu
rencontrera et de tester tes requêtes avec, les résultats des tests
seront plus probants.


Merci, c'est vrai qu'il faut plusieurs exemples pour être certain qu'une
requête fonctionne mais déjà avec une date dans la table suivi cela ne
marche pas alors je n'ai pas essayé d'en ajouter d'autres.

Merci pour ta patience.

Phil




Avatar
Phil
ben j'ai fait comme tu m'as dit
mais résultat de la requête = aucun enregistrement :-(



pour écrire l'expréssion proposée par Michel_D
il faut la décoposer en deux
sur la ligne champ tu ajoute un champ calculé comme celà
Annee : year([DateFin])
et sur la ligne condition de ce champ calculé tu saisie
[Année de traitement ?]


phil





Je viens de regarder ta base
cela semble ok mais il faut que ta requête 4 soit modifiée

ton besoin c'est bien d'obtenir :
"les enregistrements dont le champ [Au] est dans l'année de traitement mais
pas ceux dont [Revision Du] est dans cette année (càd ceux dont la révision a
déjà été traitée)."

alors pourquoi dans la requête 4 la condition de Année c'est
[Année de traitement ?] ce qui est equivalent à ecrire =[Année de traitement
?]
pour correspondre à la demande il faut <> [Année de traitement ?] ou
Not [Année de traitement ?]

de plus rétablis la jonction des tables avec l'option 1 "Inclure seulement
les lignes des deux tables pour lesquelles les champs joints sont égaux"

Permet moi une petite remarque : tester cette requête avec un seul
enregistrement dans la table "Suivi" ne me semble pas la situation la plus
favorable pour examiner les différents cas qui peuvent se présenter.
Je te suggère de créer de toute pièce les différents cas que tu rencontrera
et de tester tes requêtes avec, les résultats des tests seront plus probants.

Phil


je reviens sur ce que j'ai ecrit ci-dessus après avoir approfondi ton
besoin

pour année il faut que tu indique comme condition
<> [Année de traitement ?] ou null

et pour le jonction des deux tables que tu maintienne la deuxième
option

explication :
si un ou des enregistrements de la table "Suivi" correspondent avec
celui de la table "location" ils ne seront affichés que s'ils
respectent la condition <> [Année de traitement ?]
de plus la jonction (option 2) avec la condition "Null" dans année
créée une requête de non correspondance qui fait afficher tous les
enregistrements de la table "locations" pour lesquels il n'existe pas
d'enregistrement correspondant dans la table "suivi".

Testes si ces deux conditions peuvent être réunies dans une seule
requête ou s'il ne faut pas en faire deux
1) qui indique les révisions déjà enregistrées mais qu'il faut
actualiser <> [Année de traitement ?] et une jonction option 1
2) qui indique les locations dont le contrat n'a jamais été actualisé
et qui n'ont pas d'enregistrement dans la table "suivi"
jonction option 2 est condition "null"

Phil




Avatar
Phil

ton besoin c'est bien d'obtenir :
"les enregistrements dont le champ [Au] est dans l'année de traitement mais
pas ceux dont [Revision Du] est dans cette année (càd ceux dont la révision
a déjà été traitée)."


exact tout à fait

alors pourquoi dans la requête 4 la condition de Année c'est
[Année de traitement ?] ce qui est equivalent à ecrire =[Année de
traitement ?]
tout simplement parce que j'avais tester plusieurs solutions et j'ai

supprimer les signes juste avant l'envoi de la basse

pour correspondre à la demande il faut <> [Année de traitement ?] ou
Not [Année de traitement ?]


ben non =>aucun enregistrement tu peux tester

de plus rétablis la jonction des tables avec l'option 1 "Inclure seulement
les lignes des deux tables pour lesquelles les champs joints sont égaux"


en rétablissant la jonction c'est pareil => aucun enregistrement


comment peut il y avoir un enregistrement en retour car il n'y en a
qu'un a tester et il ne répond pas à la condition de la requête !!

Permet moi une petite remarque : tester cette requête avec un seul
enregistrement dans la table "Suivi" ne me semble pas la situation la plus
favorable pour examiner les différents cas qui peuvent se présenter.
Je te suggère de créer de toute pièce les différents cas que tu rencontrera
et de tester tes requêtes avec, les résultats des tests seront plus
probants.


Merci, c'est vrai qu'il faut plusieurs exemples pour être certain qu'une
requête fonctionne mais déjà avec une date dans la table suivi cela ne marche
pas alors je n'ai pas essayé d'en ajouter d'autres.

Merci pour ta patience.

Phil






Avatar
Isabelle
Ouf ! sauvée !

Tu as réussi, merci

C'était donc

pour année il faut que tu indique comme condition
<> [Année de traitement ?] ou null

et pour le jonction des deux tables que tu maintienne la deuxième option


un grand merci

Je vais donc pouvoir continuer et je n'ai pas fini !!!!

A bientôt si tu veux bien et si tu n'as pas perdu patience

1 2 3 4