Rechercher : dans
Par :

Calcul de différence entre deux dates ACCESS

Dernière réponse le 18 sep 2009 à 18:44:00 Michael_gengen, le 28 mai 2004 à 14:30:59 
 Signaler ce message aux modérateurs

Bon Jour?
Je suis stagiaire dans une entreprise de transports et je dois créer un SGBDR permettant la gestion des payes des chauffeurs (avec prime, congés...). Pour pouvoir calculer l'ancienneté je me suis heurté a une (première) difficulté. Je pense qu'il faudrait faire la différence entre la date d'embauche et celle a la date d'aujourd'hui. Le problème c'est que dans la requête je n'arrive a trouver la syntaxe. Anybody can help me, please? Merci d'avance. Mika_gengen. Je reviendrais!

Meilleures réponses pour « Calcul de différence entre deux dates ACCESS » dans :
Différence entre dates avec la fonction DATEDIF VoirLa fonction DATEDIF n'est pas documentée dans Excel, mais par contre sur CCM vous pouvez trouver les possibilités offertes. En voici un résumé.   La syntaxe =DATEDIF(date début;date fin;type de calcul) date début : doit être une valeur date...
ODBC (Open DataBase Connectivity) VoirQu'appelle-t-on ODBC? ODBC signifie Open DataBase Connectivity. Il s'agit d'un format défini par Microsoft permettant la communication entre des clients bases de données fonctionnant sous Windows et les SGBD du marché. Le gestionnaire ODBC est...

1

fanche, le 28 mai 2004 à 16:26:25

Essaies avec DiffDate("a";date();date d'embauche) dans un formulaire. Avec date() qui est la date du jour et date d'embauche qui est la valeur du champ que tu récupère dans ton formulaire. Ca marche normalement

Répondre à fanche

3

Michael_gengen, le 1 jun 2004 à 14:31:41

Merci du coup de pouce

mmmba voila du bon jambon a l'os

Répondre à Michael_gengen

20

MCL, le 14 avr 2009 à 01:18:38

Bonjour

Toutes mes requêtes qui concernent les dates ne fonctionne pas.
Mon système est en Français Canada.

Des formules commes:
Ancienneté: DiffDate("aaaa";[DateEmbauche];Date())
AnnéeAdhésion: PartDate("aaaa";[Date_adhésion])

Cela me donne #Erreur

Merci de me donner un coup de main

Répondre à MCL

21

LatelyGeek, le 15 avr 2009 à 08:31:51

Une question bête: Tes champs sont ils bien de type Date/Heure???? Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

22

Mariec, le 15 avr 2009 à 15:38:01

Bonjour

Oui mes champs sont de type Date/heures
Mon système est en français (Canada)

J'ai fait l'essaie en mettant mon systèeme en anglais
et remplacé les aaaa par yyyy et cela fonctionne
mais je ne peux laisser mon système en anglais à cause
de tous mes autres documents word (date auto)

Merci

Répondre à Mariec

23

LatelyGeek, le 15 avr 2009 à 18:59:00

Bon, bien que je ne voie pas le rapport avec le format de tes dates, tu peux essayer ça:
Ent((Date()-[Date adhésion])/365) pour l'ancienneté
Format([Date adhésion];"yyyy") pour l'année d'adhésion Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

24

Mariec, le 16 avr 2009 à 03:49:02

Salut

Merci pour la formule.

Je n'essayais pas de mettre cela compliqué, mais de suivre le livre que l'école nous a fourni.
Je suis un peu en avance et j'étais bloqué à cet endroit.

La formule fonctionne seulement en anglais et si tu remplaces les aaaa par yyyy.
Je n'arrive pas à comprendre que dans les manuels en français, cela n'est pas encore corrigé,
ou qu'ils ne remettent pas une feuille avec les erratum du livre.

Merci pour ton aide

A+

Répondre à Mariec

2

dje-dje, le 28 mai 2004 à 16:27:46

Je pense que la difference doit etre fait dans une macro (vba) et pas dans une requete (c'est un peu une question?)
Il existe une fonction DateDiff en vba (de mémoire), mais si tu es amené à découvrir vba, consulte l'aide.

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres

Répondre à dje-dje

4

Michael_gengen, le 1 jun 2004 à 14:38:59

Sympa l'indication mais pas trop utile ton trou dans ton Disque dur interne. Je plaisante dje-dje. A+

mmmba voila du bon jambon a l'os

Répondre à Michael_gengen

5

dje-dje, le 1 jun 2004 à 14:48:06

Apres coup j'avais verifie (c'est bon la conscience professionnelle) et comme c'etait ca je ne suis pas venue remettre de message :-)

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres

Répondre à dje-dje

6

Ben, le 1 jun 2004 à 15:26:07

Salut Dje-Dje,
je passais par là et j'ai vu ton mot à la fin:
"justement, pas mal le jeu de mot...", je viens de comprendre en fait !

à y être, comme je vois que tu tates pas mal Access, pourrais tu me dire comment faire un graphique avec une courbe cumul.
Ex:
janv:100
Fév: 200
mars: 300

et je veux
janv100
févr 300
mars 600

Merci

euh, j'ai pa de slogan mais j'y travaille.

Répondre à Ben

7

dje-dje, le 1 jun 2004 à 16:01:43
  • +1

Les graphiques je ne sais pas les faire...(En fait c'est à vb que j'ai touché)
Tu devrais poster un nouveau message dans le forum logiciel.

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres

Répondre à dje-dje

8

Michael_gengen, le 1 jun 2004 à 16:47:31
  • +1

Voila j'ai l'ancienneté. déja un gros MERCI. La je l'ai en jours, il me la faut en année et mois. Alors je divise part 360 pour l'anné et le reste par 30? 0 ou 1? j'essaie parce que c'est en écrivant que je viens d'y penser. Waa le gars bizarre!

mmmba voila du bon jambon a l'os

Répondre à Michael_gengen

9

dje-dje, le 1 jun 2004 à 17:02:25

Tu divise ton pool de jour par 360 -> tu as les années plus un reste
Ce reste tu le divise par 30 ca te fait les mois. (A toi de voir dans cette nouvelle division si un reste de 19 jours correspond à un mois ou non)

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres

Répondre à dje-dje

10

Michael_gengen, le 1 jun 2004 à 17:19:47

Bonjour à tous

Il y aurait-il moyen de convertir direct une date d'unité jour en un nombre d'année et un nombre de mois? J'ai essayé de diviser par 360 qui me donne un nombre d'année. Mais comment récupérer que la partie décimale car meme si je met mon nombre d'anné en format 'entier' access garde la partie décimale donc la différence que je dois convertir en mois est égal a O est-ce que vous m'avez bien compris?

mmmba voila du bon jambon a l'os

Répondre à Michael_gengen

11

dje-dje, le 2 jun 2004 à 11:31:41

En faisant une recherche dans l'aide de vb, ils disent d'utiliser \ et non / pour faire une division qui renvoit un entier:

\ Permet de diviser deux nombres et renvoie comme résultat un entier.
Syntaxe
result = number1\number2

Pour avoir le reste regarde a Mod:
Permet de diviser deux nombres en ne renvoyant que le reste.
Syntaxe
result = number1 Mod number2

a+
dje-dje, qui répète que l'aide n'est pas àa pour rien

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres

Répondre à dje-dje

16

montagnarde, le 20 mar 2008 à 13:46:30

Bonjour je suis en train de creer ma premiere base de donnees et j;aurais besoin de calculer l'age avec un
certaine precision
Calculer age en annee mois jour et heures si possible.

Merci a l'avance

Joe

Répondre à montagnarde

17

LatelyGeek, le 20 mar 2008 à 18:51:55

Il suffit de soustraire la date de naissance à la date du jour.

Remarque: Si tu veux le nombre d'heures, tu dois utiliser Maintenant() et non pas Date() Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

12

maxireussite, le 10 mai 2007 à 20:06:09

Bonjour,
Je ch qqu'un qui puisse m'aider sur access.
Dans une requête, je voudrais pouvoir compter les lignes Date. Le problème c'est que les lignes comportant la même date doivent compter pour 1 jour dans mon réusltat, comment faire ?
Merci de votre aide précieuse.

Répondre à maxireussite

13

LatelyGeek, le 4 jan 2008 à 21:11:38

Tu commences par faire une requête qui extrait juste les dates, et sur laquelle tu fais un regroupement, de façon à ce que les dates identiques n'aparaissent qu'une fois, puis une deuxième requête qui compte les dates de la première!!!

Répondre à LatelyGeek

14

fabgold, le 14 jan 2008 à 17:22:59

J'ai réussi à faire une formule dans excel qui donne la différence de mois et de jours entre deux dates. (pour avoir l'année en plus il suffit d'ajouter en premiere position dans la paranthese la meme formule que le mois sauf qu a la place de ym c est y)

l avantage de ma formule c est qu elle supprime le "mois" si il est égale à zéro, cela évite d'avoir par ex: 0 mois et 15 jours, cela donnera : 15 jours

--> j ai comparé la date d aujourd hui avec une date future


formule : =IF(OR(AND(MONTH(TODAY())=MONTH(B3);DAY(TODAY())<DAY(B3));AND(MONTH(TODAY())<>MONTH(B3);MONTH(TODAY())=(MONTH(B3)-1);DAY(TODAY())>DAY(B3)));(DATEDIF(TODAY();B3;"md")&" jours");(DATEDIF(TODAY();B3;"ym")&" mois et "&DATEDIF(TODAY();B3;"md")&" jours"))


dans ma formule B3 correspond a une date supérieur à la date du jour


--> si vous voulez comparer une date antérieur à la date d aujourd hui, il faudrait faire qq modifications dans la formules.


fab

Répondre à fabgold

15

fabgold, le 14 jan 2008 à 17:29:19
  • +1

J'ai réussi à faire une formule dans excel qui donne la différence de mois et de jours entre deux dates. (pour avoir l'année en plus il suffit d'ajouter en premiere position dans la paranthese la meme formule que le mois sauf qu a la place de ym c est y)

l avantage de ma formule c est qu elle supprime le "mois" si il est égale à zéro, cela évite d'avoir par ex: 0 mois et 15 jours, cela donnera : 15 jours

--> j ai comparé la date d aujourd hui avec une date future DE LA MEME ANNEE


formule : =IF(OR(AND(MONTH(TODAY())=MONTH(B3);DAY(TODAY())<DAY(B3));AND(MONTH(TODAY())<>MONTH(B3);MONTH(TODAY())=(MONTH(B3)-1);DAY(TODAY())>DAY(B3)));(DATEDIF(TODAY();B3;"md")&" jours");(DATEDIF(TODAY();B3;"ym")&" mois et "&DATEDIF(TODAY();B3;"md")&" jours"))


dans ma formule B3 correspond a une date supérieur à la date du jour


--> si vous voulez comparer une date antérieur à la date d aujourd hui, il faudrait faire qq modifications dans la formules.


fab

Répondre à fabgold

18

Wyzz 22, le 5 fév 2009 à 20:28:56

Bonjour,
Je suis en train de concevoir un logiciel de gestion pour une crèche.
Et je galère pas mal.
J'ai vu que l'on t'avais filer des astuces pour calculer la différence entre 2 dates .
Il faut que j'arrive calculer l'age des enfant à partir de la date du jour.

J'ai essayé avec DATEDIFF()
("yyyy",DATE(),DATEDENAISSANCE)
Mais il me donne un arrondie supérieur et je ne sais pas comment modifier cet arrondi....

MERCI D'AVANCE

Répondre à Wyzz 22

19

LatelyGeek, le 6 fév 2009 à 00:29:50

Essaye ça:

Ent((Date()-DateDeNaissance)/365) Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

25

 ashim, le 18 sep 2009 à 18:44:00

Voici mes cher un logiciel du nom de tempheur qui vous permettra ce calcul il est pas mal jai testé

http://www.logitheque.com/...

Répondre à ashim