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 :

Calcul sur un calcul


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut Calcul sur un calcul
    Bonjour,

    J'ai une table qui se présente ainsi :

    Id taux base Libellé
    1 20% mabase 1er taux
    2 10% 1er taux 2ème taux
    3 40% 2ème taux 3ème taux
    etc...

    En clair si ma base est 1000, il faudrait que
    1er taux = 200
    2ème taux = 20 (200*10%)
    3ème taux = 8 (20 * 40%)
    etc...


    Je ne sais pas comment boucler pour exécuter ces calculs sans l'ordre.

    Merci beaucoup pour votre aide.

    JPG

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    De manière générale, les calculs se font dans une requête (via un formulaire).

    Donc la MAJ de svaleurs doit se faire via des formules (définies via le générateur ou bien par VBA).

    Est-ce que les valeurs doivent être stockées ? (pas de recalcul possible en théorie).

    Pouvez-vous éclaircir votre besoin ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    En fait l'idée, c'était de construire une fonction qui va repérer les antécédents des calculs.

    Un peu comme dans XL ou A3 = A2 * 2 mais A2 est déjà A1*4
    J'aimerais une fonction qui pourrait me permettre de faire en sorte que A3 = A1 * 4 * 2.

    Sinon, oui il faut que je stocke les résultats.
    Et le recalcul pourrait être possible qu'à condition de tous les réeffectuer à chaque modification d'une seule formule

    Merci encore.

    JPG

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Oui, donc, c'est possible via une requête Mise à jour qui attaquerait des champs prédéfinis...

    Par exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MaTable SET ChampA3 = ChampA1 * 4* 2 WHERE ChampA1 = 'telle ou telle condition';

    Si A1 est déjà calculé alors A3 sera le résultat l'opération spécifiée.

    Est-ce que cela vous aide ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Mais en l'occurrence, je ne le sais pas que A3 = A1*4*2. Je sais juste que A3 = A2 * 2.
    Si on reprend le premier exemple de ce post :
    Je sais que mon 3ème taux est basé sur le second * 40 %.

    Mais à ce niveau là je ne sais pas ce que vaut le second.
    Je voulais créer une fonction qui, pour le 3ème taux, aurait déjà effectué le calcul du second qui lui sert de base.

    Id taux base Libellé
    1 20% 1000 1er taux
    2 10% 1er taux 2ème taux
    3 40% 2ème taux 3ème taux
    etc...

    En clair, à la lecture de ma table ci-dessus, deviner que :
    3ème taux = 1000 * 20 % * 10%* 40% = 8

    JPG

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bien ce n'est pas grave...
    Vous procédez en cascade :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE MaTable SET ChampA2 = ChampA1 * 4 WHERE ChampA1 = 'telle ou telle condition';
    UPDATE MaTable SET ChampA3 = ChampA2 * 2 WHERE ChampA1 = 'telle ou telle condition';

    Je n'ai pas assez de détails pour approfondir, donnez des exemples concrets avec un tableau de valeurs et de ce que vous en attendez...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Nom : Microsoft Access_2016-04-22_10-02-49.jpg
Affichages : 111
Taille : 17,6 Ko

    Désolé je n'ai pas réussi à faire un tableau (je me fais déconnecter trop rapidement et pas le temps de terminer mon post).

    Dans l'image ci-dessous donc, si AUM = 1000
    alors TMF = 10 et TDF = 7.2 et IMF = 2
    Là c'est facile dans ma requête j'utilise deux fois ma table. avec un lien sur FEE TYPE et BASE
    Par contre ce que je n'arrive pas à faire c'est calculer la dernière ligne DELEG, où le résultat attendu est 0.66, car il s'agit de 33% de IMF qui est 20 % du TMF lui même 1 % de AUM.

    Pas certain d'avoir été plus clair. et merci encore pour ton aide.

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Humm, j'ai compris le cheminement, ça ne peut pas se faire de façon simple dans une requête...
    Il faut du code mais bon, on peut voir ça après....

    Là, il y a un truc qui m'interpèle si je regarde votre image, vous écrivez :
    Dans l'image ci-dessous donc, si AUM = 1000
    alors TMF = 10 et TDF = 7.2 et IMF = 2
    Or dans le tableau je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TMF = 1% et TDF = 72% et IMF = 20%
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    et donc
    TMF = 0.01 et TDF = 0.72 et IMF = 0.2
    Est-ce moi qui n'est pas compris quelque chose ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    AUM = 1000
    TMF = 1 % de AUM = 10
    TDF = 72 % de TMF donc 10 * 72 % =7.2
    IMF = 20 % de TMF donc 10 * 20 % = 2

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Très bien...

    Mais quelles sont les valeurs connues dans la table pour effectuer les calculs ?
    => Doit ton se baser sur la colonne Base pour déterminer les valeurs à calculer selon AUM ?
    Si oui, comment est filtrée la table ou le tableau ? Sous-entendu par exemple, peut-il y avoir plusieurs TDF dans la colonne Free Type ?
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  11. #11
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    En fait, derrière le libellé, il existe un ID, lorsqu'il est à 0 c'est tout le temps AUM
    Et dans le cas présent (l'image est tronquée, DELEG apparaît 3 fois)

    La clé, c'est avec Third aussi donc DELEG peut-être couplé avec BELGIUM, FRANCE...

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Donc on peut baser la clause SQL sur quelque chose comme (biensûr on boucle sur chaque pays):

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TMF, TDF, IMF
    FROM TableTruc
    WHERE Third='BELGIUM' AND ID = 0

    Parce qu'en fait il faut boucler pour mettre à jour toutes les lignes en fonction de donc, j'avoue manquer un peu d'infos sur le contenu pour avancer...
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 10h51
  2. Recherche sur champ calculé
    Par srvremi dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/07/2004, 14h04
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55
  5. Réponses: 4
    Dernier message: 15/12/2002, 04h19

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