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 :

mettre une valeur selon différents critères


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut mettre une valeur selon différents critères
    Bonjour à toutes,
    Bonjour à tous,

    Devant calculer le prix d'entretien de mini voitures (fictives), je dois avant calculer le coût de l'entretien y mettre un prix selon différents critères.

    je prends comme exemple ce qui suit

    Modèle N1 <ou = 20.000 km alors prix 60€ sinon 55€
    Modèle N2 et version NB prix 50€
    Modèle N2 et version couleur prix 70 €

    Si pour le modèle N1 c'est une requête de type IIF et c'est facile à mettre en oeuvre mais je bloque pour la suite


    Merci d'avance pour l'aide apportée.
    Jingle2019

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Comme tu ne semble pas avoir de "formule" globale applicable à toutes conditions, le plus simple est de faire une requête par critère :

    Donc
    • une requête qui sélectionne les modèles N1 avec moins 20 K$,
    • une requête qui sélectionne les modèles N1 avec plus de 20 K$,
    • une requête qui sélectionne les modèles N2 NB,
    • une requête qui sélectionne les modèles N2 Couleur


    Sinon tu peux aussi grouper et ne faire qu'une seule requête pour les N1 et une pour les N2.

    Ou tu peux faire une fonction VBA (le langage de programmation de Access) qui va traiter tes 4 cas.

    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public function CalculerPrix(prmModele as string, prmKM as double, prmCouleur as string) as double
        dim result as double
     
        select case prmModele
            case "N1"
     
                if prmKM<=20000
                        result=60
                    else
                        result=55
                end if
     
            case "N2"
     
                if prmCouleur="NB" then
                        result=50
                     else 
                        result=70
                end if
     
            case else
               result=-10000000 'Pour signaler une erreur
       end select
     
       CalculerPrix=result
    end  function
    Ça s'appelle ensuite comme une des fonctions intégrées d'access :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Prix : CalculerPrix([Modele]; [Km]; [Couleur])
    Et tu peux aussi le faire avec des iif() imbriqués mais ça peut devenir rapidement illisible.

    Ici ce que cela pourrait donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iif([Modele]="N1"; iif([Km]<=20000; 60; 55); iif([Modele]="N2"; iif([Couleur]="NB"; 50; 70); -100000)))
    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.

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2012
    Messages : 284
    Points : 284
    Points
    284
    Par défaut
    Bonjour Jingle2019,

    un truc dans ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coût de l'entretien = - ((N1<=20.000)*60 + (N1>20.000)*55) + ((N2*NB)>0)*50 + ((N2*version couleur)>0)*70 & " €"
    A vérifier quand même.
    Un travail qui plait est à moitié fait.

Discussions similaires

  1. [AC-2003] Détection d'occurrences consécutives d'une valeur selon un critère
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 10/03/2014, 14h09
  2. Réponses: 2
    Dernier message: 17/02/2014, 09h23
  3. Réponses: 4
    Dernier message: 09/08/2013, 19h19
  4. codage vba pour rechercher une valeur selon 2 critères
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2011, 21h29
  5. Réponses: 19
    Dernier message: 31/05/2010, 09h51

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