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

Modélisation Discussion :

Calcul d'un champs


Sujet :

Modélisation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Bénévole association
    Inscrit en
    Juin 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Bénévole association
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2024
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Calcul d'un champs
    Bonjour à tous, déjà je suis ravi de voir qu'il existe encore des forum sur Internet !
    Je m'occupe d'une petite école de musique et je dois faire une base de données pour la gestion des inscriptions.

    Je vais surement poser un problème super simple pour ceux qui utilisent régulièrement Access, mais là je suis en train de me torturer.
    Je dois trouver une formule de calcul et je galère.

    J'ai une table "Adherents" dans laquelle je dois calculer une réduction en fonction du quotient familial.
    J'ai un premier champs calculé [RepLeg_QuotientFam] qui s'obtient en divisant le champs [RepLeg_RevenuFiscal] par le champs [RepLeg_NbreParts].
    Bon, là ça va ça fonctionne [RepLeg_RevenuFiscal]/[RepLeg_NbreParts] ça n'est jamais qu'une division

    C'est après que cela se complique... En fonction du résultat obtenu, un autre champs calculé [RepLeg_TauxReduc] doit indiquer le montant du pourcentage de réduction qui sera appliqué

    J'ai créé une autre table "TrancheQF" dans laquelle j'ai indiqué 5 tranches Cette table est indépendante, elle ne me sert qu'a stocker les différents taux de réduction et servira également à être modifiée facilement dans un formulaire destiné à l'administration pour éviter que d'autres bénévoles viennent tripatouiller directement dans les différentes tables. Même s'ils risquent ne jamais d'être modifiés, mais sait-on jamais...
    [TrancheQF_1] avec une valeur de 40 (pour 40%)
    [TrancheQF_2] avec une valeur de 30
    [TrancheQF_3] avec une valeur de 20
    [TrancheQF_4] avec une valeur de 10
    [TrancheQF_5] avec une valeur de 0

    Je n'arrive pas à trouver la formule pour que
    [RepLeg_TauxReduc] = [TrancheQF_1] SI [RepLeg_QuotientFam] est compris entre 0 et 8000
    [RepLeg_TauxReduc] = [TrancheQF_2] SI [RepLeg_QuotientFam] est compris entre 8000 et 10000
    [RepLeg_TauxReduc] = [TrancheQF_3] SI [RepLeg_QuotientFam] est compris entre 10000 et 14000
    [RepLeg_TauxReduc] = [TrancheQF_4] SI [RepLeg_QuotientFam] est compris entre 14000 et 17000
    [RepLeg_TauxReduc] = [TrancheQF_5] SI [RepLeg_QuotientFam] est supérieur à 17000

    Autant je m'en sors dans la conception, mais dès qu'il s'agit d'une expression, mon dieu

    Si une bonne âme veut bien m'aider...

    I need somebody Help !

    Bonne soirée

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour et bienvenu sur le forum Developpez.com
    Bon DEV
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 690
    Points : 57 226
    Points
    57 226
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Je ferais ça avec une table TrancheQF :
    NumTranche TauxReduc QuotientFam_mini
    1 40 0
    2 30 8000
    3 20 10000
    4 10 14000
    5 0 17000

    Par exemple avec une requête paramétrée :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PARAMETERS QuotientFamilial Long;
     
    SELECT Max([TrancheQF].[numTranche]) AS numTranche
    FROM TrancheQF
    WHERE [QuotientFamilial] >= [QuotientFam_mini];
    QuotientFamilial = 2000 --> numTranche = 1.
    QuotientFamilial = 12000 --> numTranche = 3.
    QuotientFamilial = 20000 --> numTranche = 5.
    etc.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 335
    Points : 19 574
    Points
    19 574
    Billets dans le blog
    65
    Par défaut
    Bonjour à tous,

    Je vois que vous avez posté dans le forum Modélisation, est-ce que c'est le bon endroit pour créer un un champ calculé ?

    Sinon, l'autre possibilité c'est d'utiliser la fonction PremVrai (Switch en anglais) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RepLeg_TauxReduc: PremVrai([RepLeg_QuotientFam]<=8000;40;[RepLeg_QuotientFam]<=10000;30;[RepLeg_QuotientFam]<=14000;20;[RepLeg_QuotientFam]<=17000;10;RepLeg_QuotientFam]>17000;0)
    Le détail de la fonction Switch :

    https://support.microsoft.com/fr-fr/...3-f47504f9e379

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Bénévole association
    Inscrit en
    Juin 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Bénévole association
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2024
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci à tous pour vos réponses.
    Je vais tester tout ça. J'ai en parallèle tenter avec chat GPT qui m'a donné une formule qui fonctionne en utilisant la fonction IIF (J'ai juste galéré car visiblement il y a une différence avec l'Anglais et le français qui pose problème sur les ";" et les "," dans les formules.
    Je vais tester vos propositions parceque j'aime apprendre mais surtout pour voir ce qui est le plus adapté ou bien qui pourra m'être utile dans d'autres formules.
    Merci beaucoup !
    En tout cas j'admire ceux qui sont à l'aise avec ces formules...mais bon, chacun ses compétences, mois c'est plus la musique :-)
    Bonne journée

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 335
    Points : 19 574
    Points
    19 574
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Bosley80 Voir le message
    Merci à tous pour vos réponses.
    Je vais tester tout ça. J'ai en parallèle tenter avec chat GPT qui m'a donné une formule qui fonctionne en utilisant la fonction IIF (J'ai juste galéré car visiblement il y a une différence avec l'Anglais et le français qui pose problème sur les ";" et les "," dans les formules.
    ...
    S'agit-t-il de vraifaux imbriqués (IIF en anglais).

    Si c'est le cas alors la fonction premVrai permet de simplifier la formule.

    On peut ajouter qu'il est mieux de définir les champs calculés au niveau des requêtes
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Calculer différence date champ d'une même requête
    Par priest69 dans le forum Access
    Réponses: 20
    Dernier message: 11/11/2005, 20h15
  2. tri et calcul sur un champ
    Par PAUL87 dans le forum Access
    Réponses: 11
    Dernier message: 17/10/2005, 21h35
  3. Calcul sur plusieurs champs similaires
    Par Zebulonn dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 14h24
  4. Calcul dans des champs de saisie
    Par leeloo076 dans le forum ASP
    Réponses: 4
    Dernier message: 07/04/2004, 10h09
  5. calcul entre 2 champs time
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/02/2003, 10h12

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