Tout comme sur Excel, sur Access, vous avez la possibilité de calculer le nombre de jours, mois ou années entre 2 dates, voire même entre 2 heures, grâce à la fonction Datediff ou DiffDate
Vous retrouverez la base de données utilisée dans ce tutoriel dans l’Espace Membres.
Cette fonction s’utilisant dans une requête, voire un formulaire ou un état, nous allons créer une requête avec tous les champs présents dans la table Clients. Pour cela, ouvrez la base de données et cliquez sur Création de requête
de l’onglet Créer. Affichez la table Clients et cliquez sur chacun des champs.Dans la première colonne vide après le champ Date de démarrage, cochez la case Afficher et placez-vous sur la ligne Champ.
Nous allons démarrer la formule par le nom que nous souhaitons donner à la colonne. Nous allons l’appeler Client depuis :.
La fonction DATEDIF ou DIFFDATE se décompose de cette manière :
DiffDate(« unité »;date1;date2)
Le premier argument vous permet de choisir l’unité dans laquelle renvoyer le calcul :
- J (jour) pour renvoyer le nombre de jours compris entre les deux dates ;
- M (mois) pour renvoyer le nombre de mois compris entre les deux dates ;
- AAAA (année) pour renvoyer le nombre d’années comprises entre les deux dates ;
- T (trimestre) pour renvoyer le nombre de trimestres compris entre les deux dates ;
- H (heure) pour renvoyer le nombre d’heures comprises entre les deux temps ou dates ;
- N (minutes) pour renvoyer le nombre de minutes comprises entre les deux temps ou dates ;
- S (seconde) pour renvoyer le nombre de secondes comprises entre les deux temps ou dates ;
Pour cet exemple, nous allons calculer le nombre de jours entre la date du champ Date de démarrage et aujourd’hui. L’expression complète est donc :
Clients depuis: DiffDate(« j »;[Date de démarrage];Maintenant())
Je clique maintenant sur Exécuter et Access a calculé automatiquement le nombre de jours entre chaque date de démarrage et la date du jour.
Je peux enregistrer cette requête et la rouvrir un autre jour, les intervalles seront recalculés automatiquement.
Pour modifier l’unité de l’intervalle en mois par exemple, je n’aurais qu’à modifier le J en M dans l’expression de la requête.
Pour indiquer une date fixe à la place de la date du jour, remplacez Maintenant() par « 05/02/2014″ par exemple.