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

Requêtes et SQL. Discussion :

Calcul d'un montant en fonction d'un pourcentage


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut Calcul d'un montant en fonction d'un pourcentage
    Bonjour,
    enfaite j'ai un champs [SB] dans une base de donnée access qui contient un montant qui doit être valoriser les 3 premières années en 3% et 1% tout les ans jusqu'à 60 ans et je souhaite avoir une expression que dois utiliser sur requête pour le calcul.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Bonjour,

    bienvenue sur DVP

    Ici SB est un montant, mais as-tu des champs AnneeDebut et AnneeEnCours pour que le calcul puisse etre fait ?

    Car ici il s'agirait de calculer a un instant donné, mais ce n'est pas tant une problématique de requete SQL que de calcul mental.

    Aurais tu un cas concret ou des exemples de ce que tu as deja esasyé de faire ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre intervention
    L'idée est de calculer une prime d'ancienneté sur ma base de donnée paie en fonction de la date d'embauche.
    les salariés nouvellement recrutés bénéficient d'une prime d'ancienneté égale à 3℅ de leurs salaire pendant les 3 premières années et 1℅ toutes les autres années qui précédent leurs retraites qui se limite à 60 ans d'âge.
    le champs SB désigne le salaire et la date d'embauche qui constitue la date à partir du quelle l'ancienneté commence.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    D'accord, mais on travaille sur le salaire de départ (celui de l'embauche), ou le salaire annuel de l'année en question ?
    Exemple si on a une évolution de salaire :
    2015 / 50 000 euros => 50 000 * 3% = 1500
    2016 / 52 000 euros => 52 000 * 3 % = 1560
    2017 / 55 000 => 55 000 * 3% = 1650
    2018 / 57 000 => 57000 * 1% = 570
    2019 / 60 000 => 60000 * 1 % = 600

    donc on aurait une prime (cumulée) en 2019 de 1500+1560+1650+570+600 = 5880 ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    l'augmentation se fait sur le salaire de base (SB) c'est-à-dire le salaire de recrutement. Puisque à partir de 60ans c'est la retraite,j'aimerais que l'augmentation se fasse à partir de la date d'embauche. pas de cumul

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Considérons 2015 comme date d'embauche, nous aurons exactement ce total en 2019.

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    il te faut au moins 2 champs pour faire ton calcul (annee entree + salaire d'entree), or tu ne nous parles que d'un champs SB...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    J'ai même 3 champs [SB], [date_embauche], et la date retraite qui s'obtient avec la [date_naissance]+21915

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Tu peux faire une fonction toute simple en VBA, qui reste a blinder selon les valeurs fausses (pas d'annee d'embauche dans le futur, cas des retraites, etc.)
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function Total(anneeEnCours as Integer, AnneeEmbauche as Integer, SalaireEmbauche as Double) As Double
    If anneeEnCours = AnneeEmbauche Then
    Total= SalaireEmbauche *0.03
    Else
    If anneeEnCours - AnneeEmbauche <=3 Then
    Total = SalaireEmbauche *0.03 + Total(anneeEnCours -1,AnneeEmbauche ,SalaireEmbauche )
    Else
    Total = = SalaireEmbauche *0.01 + Total(anneeEnCours -1,AnneeEmbauche ,SalaireEmbauche )
    End If
    End If
    End Function

    Avec un appel dans ta requete
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [SB], [date_embauche], Total(Year(Date),Year(date_embauche), SB) As Prime
    FROM TaTable

    a valider selon que tu consideres qu'une personne qui debarque touche une prime des l'année d'embauche...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Fantastique, cela cadre bien avec ce que je cherche. Merci bien. Mais j'aimerais tout de même savoir ce que désigne le -1 dans la fonction

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Ah, une erreur détectée après test, je suis partir d'un salaire de 73084 avec une date d'embauche 2015. de 2015 à la date d'aujourd'hui sa fait 4ans. donc les 3 premières années c'est 2016, 2017, 2018 qui donne droit à 3℅ et sa fait 73084*3% = 2192 ensuite il reste 1an c'est-à-dire 2019 qui lui donne droit à 73084*1%= 730 qui fait un total de 2923 or ici sa me donne 7308

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    la 1ere et la 2eme année de recrutement le salarié n'a pas droit à ce prime il faut qu'il cumul d'abord 3 années de service effectif pour avoir 3% ensuite toutes les autres années qui suivent c'est 1%

  13. #13
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,

    le -1 permet de faire un appel récursif

    tu peux changer la condition de sortie de ta boucle (il manque de toute facon le cas des années de retraite qui n'apparait pas dans mon exemple.

    Fais nous part de tes avancées
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Niger

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    D'accord, je ferais cela

Discussions similaires

  1. Calcul de charge méthode point fonction
    Par stigmate101 dans le forum Gestion de projet
    Réponses: 4
    Dernier message: 30/01/2009, 11h54
  2. calculer les racines d'une fonction
    Par carole8 dans le forum C
    Réponses: 18
    Dernier message: 06/12/2006, 00h14
  3. Calcul d'un prix en fonction de sa composition
    Par prophete3d dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/09/2006, 10h27
  4. Article : Calcul d'un prix en fonction de sa composition
    Par prophete3d dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/09/2006, 10h04
  5. codage du calcul de dérivée d'une fonction mathématique
    Par pispa2005 dans le forum Mathématiques
    Réponses: 5
    Dernier message: 08/01/2005, 20h54

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