Probleme recherche date la plus proche dans une table

Signaler
Messages postés
12
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
2 octobre 2010
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour à tous,

Je galère un peu avec access en vba

J'ai une table horaire avec des id et des dates
J'ai une table dossier avec des nom de dossier et des dates

Et je voudrais rechercher la date horaire la plus proche en jour de la date du dossier.

Et je ne sais pas comment m'y prendre

10 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Je pense que si tu fais un requete avec MAX(ChampsDate) tu devrais récupérer la date la plus proche d'aujourdhui (si les dates sont inférieures à aujourd'hui)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
12
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
2 octobre 2010

les dates horaires sont des dates futures de même pour les dates de dossier

par exemple j'ai un date de dossier 30/04/2008

il faut rechercher dans la table horaire la date la plus proche:

26/04/2008
28/04/2008
31/04/2008
01/05/2008

pour cet exemple il faudrait que la focntion me retourne le 31/04/2008
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
salut,

Alors idée comme ca....
Dans ta requete tu prends juste toute les dates supérieur à ta date dossier tu classes dans l'ordre croissant ton résultat et tu prends le premier résultat...

SLB
Messages postés
37
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 juillet 2012

Le problème c'est qu'il faut prendre les dates compris entre date du dossier -5j et date du dossier +15j
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
>[auteur/YOKULAN/499062.aspx yokulan]: Et si tu nous disait TOUT ce que l'on doit savoir, plutot que de donner les infos au compte goutte.

Bref soit précis dans l'enoncé de ton problème, tu fera gagner du temps à tout le monde

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Re,
jrivet a raison... Explique clairement et pas par brides d'information

Merci
SLB
Messages postés
12
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
2 octobre 2010

Bon bas je repete

j'ai une table Dossier(nom,personne,date_dossier)
j'ai une table Horaires(id,date_horaire)

et je voudrais rechercher dans la table Horaires la date la plus proche, pour chaque dossier de chaque personne, compris entre (date_dossier-5jours) et (date_dossier +15jours).

exemple:
Table Dossier :

Nom | ID _personne | date_dossier
D1    | p1                  | 01/05/2008
D2    | p2                  | 09/05/2008

Table Horaires :

ID _personne | date_horaire
p1                  | 31/04/2008
p1                  | 03/05/2008
p1                  | 05/05/2008
p2                  | 01/05/2008
p2                  | 05/05/2008
p2                  | 10/05/2008

pour le dossier D1 dont la date est 01/05/2008 et qui est traité par p1 il faudarit qu'il me renvoye 31/04/2008
pour le dossier D2 dont la date est 09/05/2008 et qui est traité par p2 il faudarit qu'il me renvoye 10/05/2008

En espérant être assez claire.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Souhaites tu le faire en une fois ? ou en passant un parametre à chaque fois (comme le nom de la personne oiu je ne sais quoi d'autre)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
12
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
2 octobre 2010

 je rentre juste la date du dossier et la personne et il me trouve la date horaire la plus proche
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Bon alors j'ai réussi ceci pour l'instant, récupérer les différences entre la date_dossier et la date_horaires

avec ceci

SELECT Horaires.ID_Personne AS Personne, Abs(Horaires.date_horaire - Dossier.date_dossier) AS Différence
FROM Horaires INNER JOIN Dossier ON Horaires.ID_Personne = Dossier.ID_personne
WHERE (((Horaires.ID_Personne) In (SELECT DISTINCT Dossier.ID_Personne FROM Dossier)));

@+: Ju£i?n
Pensez: Réponse acceptée