IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Sélection sur plus proche valeur de date [Toutes versions]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Sélection sur plus proche valeur de date
    Bonjour,

    Quelle est la bonne méthode pour associer à une table de valeurs la plus proche valeur d'une autre table?

    Exemple:
    Table 1
    N°ID1 Date_de_modification Valeur_minoration
    1 01/01/2009 0,97
    2 01/01/2013 0,907
    3 01/04/2014 0,904

    Table 2
    N°ID2 DateEnr Champ1 Champ 2 ...
    1 01/01/2008 ...
    2 25/07/2009 ...
    3 14/03/2013 ...
    4 28/05/2014 ...

    Je souhaite requêter la table 2 et récupérer la Valeur_minoration de la Table 1 pour laquelle la Date_de_modification et la plus proche et antérieure à DateEnr

    Cela donnerait:

    1 NULL car pas de Date_de_modification antérieure ou égale au 1/1/2008 dans la Table 1
    2 0,97 (correspond à ID1 n°1)
    3 0,907 (correspond à ID1 n°2)
    4 0,904 (correspond à ID1 n°3)

    J'espère être dans le bon Forum. Merci d'avance à celui ou celle qui tentera de m'aider.

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Je pense que cette requête devrait répondre à tes attentes : (Le nom des champs est à réadapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Min(Abs(DateDiff("d",[Date_Debut_T2],[Date_Debut_T1]))) AS diff, Table1.Valeur_minoration, Table1.ID_T1
    FROM Table1, Table2
    WHERE (((Table1.Date_Debut_T1)>=[Date_Debut_T2]))
    GROUP BY Table1.Valeur_minoration, Table1.ID_T1;
    La démonstration par l'exemple ci-dessous :

    JimBoLion
    Fichiers attachés Fichiers attachés

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Pour approfondir la question et te permettre de comprendre la solution proposée par Jimbolion, je te conseille de lire ce tuto très détaillé de Claude Leloup/ en relation avec ta recherche.

    Bonne continuation

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Un tuto, une solution et un exemple.... le bonheur en somme

    Merci Madefemerre je découvre ce tuto

    JimboLion

  5. #5
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci à vous pour ces réponses rapides.

    J'avoue que le tuto à l'air très bien mais plutôt complexe pour y entrer.

    Je préfère la piste de jimbolion mais je n'obtiens pas la réponse attendue.
    J'ai dû mal m'exprimer mais pour simplifier, je souhaite pouvoir obtenir toutes les lignes de la table 2 avec une valeur supplémentaire tirée de la table 1 correspondant à la plus proche valeur de date.

    Il me semble que la solution proposée renvoie toutes les lignes de la table 1.

    Je continue de chercher.

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Je re-regarde mais as tu pu charger l'exemple ?

    La réponse suivante extraite me semble cohérente : et correspond sauf erreur de ma part (ou il faut que je change mes lunettes) à ton attente :

    diff Valeur_minoration ID_T1
    383 0.904 3
    1256 0.907 2
    366 0.97 1

    JimBoLion

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Mais tu as raison je vais pousser le raisonnement un peu plus loin sur une table plus conséquente...

    je te fais un retour

    JimBoLion

  8. #8
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    dchiche,

    Je re-regarde mais as tu pu charger l'exemple ?

    La réponse suivante extraite me semble cohérente : et correspond sauf erreur de ma part (ou il faut que je change mes lunettes) à ton attente :

    diff Valeur_minoration ID_T1
    383 0.904 3
    1256 0.907 2
    366 0.97 1

    JimBoLion
    Oui j'ai bien chargé la base. Mais je ne m'y retrouve pas (et j'en suis vraiment désolé).
    Je joins un nouvel exemple pour être sûr de me faire comprendre avec 2 tables.

    Réponse attendue

    N° ID2 Libellé Date_réalisation Valeur_mino
    1 Truc 01/05/2002 NULL
    2 Bidule 01/07/2010 0,2
    3 chose 01/09/2013 0,7
    4 Poupoule 05/12/2015 0,35
    5 Machin 01/05/2012 0,2
    Fichiers attachés Fichiers attachés

  9. #9
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Merci pour l'exemple, je regarde dès que j'ai un petit moment...

    JimBoLion

  10. #10
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    dchiche,

    Effectivement il fallait pousser la réflexion un peu plus loin...

    Donc ta réponse ici (j'ai constitué des requêtes intermédiaires pour faciliter ta compréhension Qry_Cpte et Qry_Cpte2) : la réponse est dans la requête résultat !
    elle peuvent s'imbriquer dans la requête finale...

    Test.zip

    JimBoLion

  11. #11
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    dchiche,

    Effectivement il fallait pousser la réflexion un peu plus loin...

    Donc ta réponse ici (j'ai constitué des requêtes intermédiaires pour faciliter ta compréhension Qry_Cpte et Qry_Cpte2) : la réponse est dans la requête résultat !
    elle peuvent s'imbriquer dans la requête finale...

    Test.zip

    JimBoLion
    Alors là, Bravo!

    On y est.

    Un grand MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/05/2009, 10h03
  2. Enregistrement le plus proche de la date
    Par gudul dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/10/2008, 11h18
  3. Réponses: 5
    Dernier message: 08/12/2007, 21h15
  4. Rechercher la plus proche valeur dans un tableau
    Par neoMatrix dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/05/2007, 12h45
  5. rechercher la plus proche valeur dans un tableau ?
    Par Slumpy dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/04/2007, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo