OVH Cloud OVH Cloud

A l'aide svp

3 réponses
Avatar
BSH77
Bonjour à toutes et à tous

j'ai une table qui contient plus 100 000 enregistrements dont voici la
structure :

Identifiant Individu | Date de Visite

Je voudrais calculer dans une 3ème colonne le nombre de jour écoulé entre
deux dates de visite et par individu
ex :
Identifiant Individu | Date de Visite - Nb jour Ecoulés
Mr Dupont 22/01/2003 - 0
Mr Dupont 28/01/2003 - 6
Mr Dupont 17/02/2003 - 20
Mr Dupont 01/04/2003 - 43
...
Le calcul se fait par rapport à la 2è date - 1ere date ; 3è date - 2è date ;
4è date - 3è date

Merci d'avance pour votre aide
BS

3 réponses

Avatar
3stone
Salut,

"BSH77"
| j'ai une table qui contient plus 100 000 enregistrements dont voici la
| structure :
|
| Identifiant Individu | Date de Visite
|
| Je voudrais calculer dans une 3ème colonne le nombre de jour écoulé entre
| deux dates de visite et par individu
| ex :
| Identifiant Individu | Date de Visite - Nb jour Ecoulés
| Mr Dupont 22/01/2003 - 0
| Mr Dupont 28/01/2003 - 6
| Mr Dupont 17/02/2003 - 20
| Mr Dupont 01/04/2003 - 43
| ...
| Le calcul se fait par rapport à la 2è date - 1ere date ; 3è date - 2è date ;
| 4è date - 3è date



Calculer dans une requête, pas le mettre dans la table...

Quelque chose comme:

SELECT T_Visites.IDPersonne,
NZ(DateDiff("d",DMax("DateVisite","T_Visites","DateVisite<" &
Format([DateVisite],"#mm-dd-yyyy#")),[DateVisite]),0) AS NbrJours
FROM T_Visites;

ajouter le critère sur l'identifiant individu (qui j'espère, n'est pas son nom...)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
BSH77
Re-bonjour

Tout d'abord merci de m'avoir répondu,
J'ai testé ta requete mais ca marche po, comment ajouter le critère sur
l'identifiant ?? :

voici cette requete :
---------
SELECT BASE_KETEK.C_TVF_MED, BASE_KETEK.[DATE DE VISITE],
NZ(DateDiff("d",DMax([DATE DE VISITE],"BASE_KETEK","[DATE DE VISITE] < " &
Format([DATE DE VISITE],"#mm-dd-yyyy#")),[DATE DE VISITE]),0) AS NbrJours
FROM BASE_KETEK
ORDER BY BASE_KETEK.C_TVF_MED, BASE_KETEK.[DATE DE VISITE];
----------
et voici le résultat obtenu :

C_TVF_MED DATE DE VISITE NbrJours (avec requete) Calcul bon (dans Excel)
M00000945 10/05/2004 38117 0
M00001360 06/04/2004 38083 0
M00001360 12/05/2004 38119 36
M00001360 16/06/2004 38154 35
M00001379 02/04/2004 38079 0
M00001470 23/06/2004 38161 0
M00001470 30/06/2004 38168 7
M00001492 17/05/2004 38124 0
M00001492 16/06/2004 38154 30
M00001492 28/06/2004 38166 12

comme je ne suis pas tres expert dans Access, je n'ai pas compris les
fonction NZ et Dmax utilisées,

Merci d'avance pour ton aide
BS





Salut,

"BSH77"
| j'ai une table qui contient plus 100 000 enregistrements dont voici la
| structure :
|
| Identifiant Individu | Date de Visite
|
| Je voudrais calculer dans une 3ème colonne le nombre de jour écoulé entre
| deux dates de visite et par individu
| ex :
| Identifiant Individu | Date de Visite - Nb jour Ecoulés
| Mr Dupont 22/01/2003 - 0
| Mr Dupont 28/01/2003 - 6
| Mr Dupont 17/02/2003 - 20
| Mr Dupont 01/04/2003 - 43
| ...
| Le calcul se fait par rapport à la 2è date - 1ere date ; 3è date - 2è date ;
| 4è date - 3è date



Calculer dans une requête, pas le mettre dans la table...

Quelque chose comme:

SELECT T_Visites.IDPersonne,
NZ(DateDiff("d",DMax("DateVisite","T_Visites","DateVisite<" &
Format([DateVisite],"#mm-dd-yyyy#")),[DateVisite]),0) AS NbrJours
FROM T_Visites;

ajouter le critère sur l'identifiant individu (qui j'espère, n'est pas son nom...)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw





Avatar
3stone
Salut,

"BSH77"
| Tout d'abord merci de m'avoir répondu,
| J'ai testé ta requete mais ca marche po, comment ajouter le critère sur
| l'identifiant ?? :
|
| voici cette requete :
| ---------
| SELECT BASE_KETEK.C_TVF_MED, BASE_KETEK.[DATE DE VISITE],
| NZ(DateDiff("d",DMax([DATE DE VISITE],"BASE_KETEK","[DATE DE VISITE] < " &
| Format([DATE DE VISITE],"#mm-dd-yyyy#")),[DATE DE VISITE]),0) AS NbrJours
| FROM BASE_KETEK
| ORDER BY BASE_KETEK.C_TVF_MED, BASE_KETEK.[DATE DE VISITE];


Sans regarder de plus près...
mais il faut trier sur le champ [Date de viste] évidement, sinon tu n'obtient
pas l'écart avec le précédent!

PS: Evite aussi d'écrire les noms de tables et de champs en majuscules
cela rend la lecture très difficile.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw