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 :

Variation d'un attribut d'un enregistrement


Sujet :

Access

  1. #1
    Candidat au Club
    Variation d'un attribut d'un enregistrement
    Bonjour,
    J'ai une table qui stocke les prix d'un ensemble d'actions tous les jours.
    Je souhaite afficher la variation de prix de chacune des actions avec une requête. Enfin mettre un critère sur la variation pour afficher seulement les variations > x %
    Merci pour votre aide
    Pascal

  2. #2
    Modérateur

    Bonjour.

    Paradoxalement c'est plus compliqué qu'on pouvait s'y attendre.
    Trouver le jour (ou n'importe quoi) qui précède nécessite de trouver le max qui est inférieur à l'élément considéré.
    Habituellement on fait un truc du genre DFirst("[ClefElement]"; "UneSource"; "[ClefElement]=" & DMax("[ClefElement]", "UneSource", "[UnChamp]<" & [unChamp])).
    Où DMax("[ClefElement]", "UneSource", "[UnChamp]<" & [unChamp]) te donne la clef de l'éléemnt qui a la valeur maximum tout en étant inférieur strictement au critère qui t'intéresse.
    C'est particulièrement inefficace et si tu as beaucoup de données ça peut être TRÈS lent.

    Dans ton cas je te suggère de procéder différemment, fais une requête qui te donne les actions à une date N et une seconde requête qui te donne les actions à la date N-1.
    Ces 2 requête sont super efficaces car elles ne font aucun calcul, juste une sélection.
    Après tu n'as plus qu'à mettre tes 2 requête en jointure sur l'ID d'action et c'est fait, tu as la valeur de l'action et sa valeur précédente. Les calculs qui restent sont assez directs selon moi.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.