OVH Cloud OVH Cloud

Calcul de date dans une requête

7 réponses
Avatar
mauger
Je cherche à créer un champ calculé tout simple avec une diffèrence entre 2
dates pour calculer un âge, voici le texte SQL qui est généré :
SELECT Salariés.NomSalarié, Salariés.PrénomSalarié, Salariés.DateNaissance,
Int((Date()-[DateNaissance])/365.25) AS Age
FROM Salariés;
Lors de l'exécution de la requête, il me met erreur de compilation !

7 réponses

Avatar
mbfac
Bonjour

j'essaierai plutot

Select intro.politesse, final.politesse from politesse where theme='Forum'

Cordialement

Michel BERTRAND

"mauger" a écrit dans le message de news:

Je cherche à créer un champ calculé tout simple avec une diffèrence entre
2
dates pour calculer un âge, voici le texte SQL qui est généré :
SELECT Salariés.NomSalarié, Salariés.PrénomSalarié,
Salariés.DateNaissance,
Int((Date()-[DateNaissance])/365.25) AS Age
FROM Salariés;
Lors de l'exécution de la requête, il me met erreur de compilation !


Avatar
3stone
"mbfac"
| j'essaierai plutot

;-)


ou ceci :
http://www.3stone.be/access/pages/samplevirus.php


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
mauger
Toutes mes excuses pour ce manque de politesse, je ne suis pas une habituée
des forums et je dois avouer que j'étais "à fond" dans mon problème !
Si vous aviez l'amabilité de me répondre, si vous connaissez une solution,
je vous en serais très reconnaissante ...
Merci
Avatar
3stone
Salut,

"mauger"
| Toutes mes excuses pour ce manque de politesse, je ne suis pas une habituée
| des forums et je dois avouer que j'étais "à fond" dans mon problème !
| Si vous aviez l'amabilité de me répondre, si vous connaissez une solution,
| je vous en serais très reconnaissante ...

Pardonné ;-)

Pour calculer l'age dans une requête, il vaut mieux utiliser une fonction

http://www.3stone.be/access/faq.php?lng=fr&pg2

que tu colle dans un module général (onglet module) et que tu sauve
sous : "mod_CalculSurDate" par exemple.

Ensuite, dans la requête, ton champ calculé devient :

Age: fnAge([DateNaissance])


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
mauger
Merci de votre solution, mais le but était de réussir à créer un champ
calculé avec la fonction date().
Exercice qui m'est proposé dans un livre de la collection Eni mais dont la
solution ne fonctionne pas (du moins pour moi).
Effectivement la solution d'écrire une fonction est plus fiable.
Si quelqu'un a déjà rencontré ce problème, merci de me dire s'il a trouvé
une solution ???
Avatar
3stone
Salut,

"mauger"
| Merci de votre solution, mais le but était de réussir à créer un champ
| calculé avec la fonction date().


Que veux tu dire par "créer un champ calculé avec un champ date" ??

Parce que c'est exactement ce que fait cette fonction, dans une requete !
Si tu ne souhaite pas utiliser la fonction, colle tout le contenu dans la
"case" de la grille du l'éditeur de requête:

Age: DateDiff("yyyy", DateNaissance, Date) + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))

(le tout sur une ligne)


| Exercice qui m'est proposé dans un livre de la collection Eni mais dont la
| solution ne fonctionne pas (du moins pour moi).

C'est quoi comme livre "Access pour les Nulls" ?

Méfie-toi de ces bouqins ;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
mauger
Merci pour ta solution, je vais l'essayer. Je ne pensais pas à utiliser
datediff, je faisais directement la soustraction.
Par contre non, mon bouquin n'est pas access pour les nuls ! C'est un livre
des éditions Eni très connu dans le monde de la formation et recommandé par
Microsoft. Ils ont une lien sur leur site vers le site des Editions Eni, donc
je pensais cela fiable pour que Microsoft leur fasse confiance ! De plus, ils
proposent des livres pour préparer les certifications Microsoft, alors ...
Bon merci et à une prochaine fois.