Discussion:
Comment faire pour mettre la date du jour dans une requête?
(trop ancien pour répondre)
Laura.M
2006-04-16 18:36:01 UTC
Permalink
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour que je
puisse réaliser mon calcul.

Je vous remerci d'avance.
Tisane
2006-04-16 18:43:14 UTC
Permalink
Bonsoir Laura,
Post by Laura.M
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour que je
puisse réaliser mon calcul.
La date du jour : Date()
Dans une colonne vide de ta requête :
Anciennete: Date()-[Date_Embauche]
Mais le résultat va être un nombre de jour.
--
Tisane
Laura.M
2006-04-17 00:44:01 UTC
Permalink
J'aimerais savoir comment on fais pour que cela apparaisse en année et non en
jours?
Post by Tisane
Bonsoir Laura,
Post by Laura.M
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour que je
puisse réaliser mon calcul.
La date du jour : Date()
Anciennete: Date()-[Date_Embauche]
Mais le résultat va être un nombre de jour.
--
Tisane
Tisane
2006-04-17 06:08:49 UTC
Permalink
Rebonjour Laura,
Post by Laura.M
J'aimerais savoir comment on fais pour que cela apparaisse en année et non en
jours?
Je n'ai trouvé aucune solution satisfaisante directement en mode QBE.
Les formules suivantes ne sont pas précises.
Anciennete: Année(Date())-Année([Date_Embauche])&" ans"
ou
Anciennete: DiffDate("aaaa";[Date_Embauche];Date())&" ans"

Pour un réusultat précis, le mieux est de regarder ici :
http://officesystem.access.free.fr/vba/calculs.htm
ou ici :
http://www.mvps.org/accessfr/datetime/date0001.htm
--
Tisane
Post by Laura.M
Post by Tisane
Post by Laura.M
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour
que
je
puisse réaliser mon calcul.
La date du jour : Date()
Anciennete: Date()-[Date_Embauche]
Mais le résultat va être un nombre de jour.
--
Tisane
Eric
2006-04-17 06:27:37 UTC
Permalink
Bonjour,

Essaies avec :
Anciennete:
DiffDate("aaaa";[Date_Embauche];Date())+(Format(Date();"mmjj")<Format([Date_Embauche];"mmjj"))

tu auras le nombre d'années pleines.
Post by Laura.M
J'aimerais savoir comment on fais pour que cela apparaisse en année et non en
jours?
Post by Tisane
Bonsoir Laura,
Post by Laura.M
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour que je
puisse réaliser mon calcul.
La date du jour : Date()
Anciennete: Date()-[Date_Embauche]
Mais le résultat va être un nombre de jour.
--
Tisane
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Heureux-oli
2006-04-17 07:15:01 UTC
Permalink
Il y a aussi la possibilité de formater la date et convertir en nombre

CEnt(Format([MaDate];"aaaa")) de cette façon une date est renvoyée en année
nombre et plus texte et la différence de deux date donne l'âge, l'ancienneté,
...
--
Oli
Post by Eric
Bonjour,
DiffDate("aaaa";[Date_Embauche];Date())+(Format(Date();"mmjj")<Format([Date_Embauche];"mmjj"))
tu auras le nombre d'années pleines.
Post by Laura.M
J'aimerais savoir comment on fais pour que cela apparaisse en année et non en
jours?
Post by Tisane
Bonsoir Laura,
Post by Laura.M
J'aimerais savoir pour calculer l'ancienneté d'un salarié.
Je dois faire la date d'aujourd'hui - la date d'embauche.. et tous sa dans
une requête en mode QBE.
Donc comment faire pour mettre la date du jour dans une requête? Pour que je
puisse réaliser mon calcul.
La date du jour : Date()
Anciennete: Date()-[Date_Embauche]
Mais le résultat va être un nombre de jour.
--
Tisane
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Gilles MOUGNOZ
2006-04-18 07:59:25 UTC
Permalink
Post by Heureux-oli
Il y a aussi la possibilité de formater la date et convertir en nombre
CEnt(Format([MaDate];"aaaa")) de cette façon une date est renvoyée en année
nombre et plus texte et la différence de deux date donne l'âge, l'ancienneté,
...
--
Oli
Bonjour à tous,

Dans ce cas, autant utiliser une fonction qui extrait directement l'année à
partir d'une date, à savoir:
Année([MaDate])
Pour info, les fonctions Jour([MaDate]), Mois([MaDate]), Heure([MaDate]) et
Minute([MaDate]) fonctionnent aussi très bien !...
(A traduire en anglais pour utiliser en VBA ou en SQL)

Bonne continuation
Tisane
2006-04-18 08:11:09 UTC
Permalink
Bonjour Eric,
Post by Gilles MOUGNOZ
Dans ce cas, autant utiliser une fonction qui extrait directement l'année
Année([MaDate])
J'avais cru comprendre que Laura voulait le "nombre d'années" et pas
l'année.
--
Tisane
Gilles MOUGNOZ
2006-04-18 09:58:49 UTC
Permalink
Post by Tisane
Bonjour Eric,
Post by Gilles MOUGNOZ
Dans ce cas, autant utiliser une fonction qui extrait directement l'année
Année([MaDate])
J'avais cru comprendre que Laura voulait le "nombre d'années" et pas
l'année.
--
Tisane
Bonjour, Tisane

Effectivement, j'ai pris le train en marche et je n'ai pas fait attention.
Désolé...
Ceci dit, je ne répondais qu'à "Heureux-Oli" (qui est donc également à côté
de la question) et la transformation de:
CEnt(Format([MaDate];"aaaa"))
en :
Année([MaDate])
me semble justifiée.

Pour le nombre d'années séparant deux dates, DiffDate semble la fonction la
plus appropiée mais, comme tu l'as signalé, elle n'est pas très précise
(pour info, DiffDate renvoie 1 si on lui demande le nombre d'années entre le
31/12/2005 et le 01/01/2006).
Pour le nombre d'années ENTIERES entre deux dates, il faudrait voir du côté
des fonctions développées pour le calcul d'âge.
Par exemple, sur le site de Raymond:
http://officesystem.access.free.fr/vba/calculs.htm#age_en_annees_dans_une_fourchette_de_deux_dates

Bonne continuation
Eric
2006-04-18 12:38:04 UTC
Permalink
Bonjour,

Je m'immisce, mais la formule que j'ai donnée retourne bien le nombre
d'années *entières* d'ancienneté. Le +(Format(...)) est une booléenne
qui enlève 1 (donc une année) si le mois courant est inférieur au mois
de la date de naissance ou d'embuache ou ..., sinon 0 qui neutre pour
l'addition.
En plus, Laura voulant faire ça en QBE, je pense que ma réponse est
bonne puisque cela fonctionne directement dans une requête sans devoir
utiliser une fonction VBA.
Post by Gilles MOUGNOZ
Post by Tisane
Bonjour Eric,
Post by Gilles MOUGNOZ
Dans ce cas, autant utiliser une fonction qui extrait directement l'année
Année([MaDate])
J'avais cru comprendre que Laura voulait le "nombre d'années" et pas
l'année.
--
Tisane
Bonjour, Tisane
Effectivement, j'ai pris le train en marche et je n'ai pas fait attention.
Désolé...
Ceci dit, je ne répondais qu'à "Heureux-Oli" (qui est donc également à côté
CEnt(Format([MaDate];"aaaa"))
Année([MaDate])
me semble justifiée.
Pour le nombre d'années séparant deux dates, DiffDate semble la fonction la
plus appropiée mais, comme tu l'as signalé, elle n'est pas très précise
(pour info, DiffDate renvoie 1 si on lui demande le nombre d'années entre le
31/12/2005 et le 01/01/2006).
Pour le nombre d'années ENTIERES entre deux dates, il faudrait voir du côté
des fonctions développées pour le calcul d'âge.
http://officesystem.access.free.fr/vba/calculs.htm#age_en_annees_dans_une_fourchette_de_deux_dates
Bonne continuation
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
2006-04-18 12:44:07 UTC
Permalink
.../...
je voulais dire 'sans devoir developper' pour 'sans devoir utiliser'
Post by Eric
En plus, Laura voulant faire ça en QBE, je pense que ma réponse est
bonne puisque cela fonctionne directement dans une requête sans devoir
utiliser une fonction VBA.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Gilles MOUGNOZ
2006-04-18 14:08:57 UTC
Permalink
Post by Eric
.../...
je voulais dire 'sans devoir developper' pour 'sans devoir utiliser'
En plus, Laura voulant faire ça en QBE, je pense que ma réponse est bonne
puisque cela fonctionne directement dans une requête sans devoir utiliser
une fonction VBA.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour, Eric

Pas de problème, tu as raison et c'est certainement la meilleure (et la plus
courte) solution "sans développement" !
D'ailleurs, Walter Stucki propose quasiment la même sur son site à cette
adresse:
http://mypage.bluewin.ch/w.stucki/CalculsDates.htm#ageHabitant
Il "suffisait" de l'extraire de VBA et de la franciser... encore eut-il
fallu que je comprenne correctement le besoin initial !

Bonne continuation

Continuer la lecture sur narkive:
Loading...