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 :

Requête sélection avec calculs conditionnels


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Requête sélection avec calculs conditionnels
    Bonjour,
    J'ai l'habitude dans Excel de paramétrer des calculs selon des conditions telles que : si telle case donne tel résultat alors fait telle action, sinon fait l'autre action et j'imbrique plusieurs conditions dans des conditions.

    Dans Access, mis à part le vba, existe-t-il un moyen de calculer selon un résultat à même une requête sélection?

    Le but de cette requête est de calculer un prix de produit avec un taux de réduction selon le mois d'achat. Si un client achète en janvier par exemple, la facture calcule le taux de 29%, en février 28%, en mars 27% et en avril 26%.

    En gros, dans la requête sélection, je veux qu'un taux se calcule selon le mois de la facture et ce, pour les 4 premiers mois.

    En excel, ça ressemblerait à :
    si(mois(a1)=1;a2*0,29;a2*0,28)...et ainsi de suite pour février, mars et avril.

    Quel est l'équivalent de "si" dans une requête sélection? Du genre, "si (mois(DateFacture)=1;Prix*0,29;Prix*0,28)..." ?

    J'ai utilisé l'aide intégrée d'Access, fait des tests avec le générateur d'expressions, fait le tour du lien des codes sources dans ce forum et j'ai navigué dans les 5 premières pages de cette section-ci. Je n'ai rien trouvé qui s'y rapprochait.

    Merci beaucoup à l'avance !

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut CassiopeeQC et bienvenu,

    Citation Envoyé par CassiopeeQC
    J'ai utilisé l'aide intégrée d'Access, fait des tests avec le générateur d'expressions, fait le tour du lien des codes sources dans ce forum et j'ai navigué dans les 5 premières pages de cette section-ci. Je n'ai rien trouvé qui s'y rapprochait.
    pourtant c'est un problème récurant que l'on trouve sur le forum: pour le remplacement du if :
    Iif() <=> VraiFaux(), sinon il existe aussi pour éviter les imbrications de test: Switch()
    cf <F1> pour plus de précision...


  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    bonsoir

    tu peux utiliser vraifaux(test logique;condition vrai;condition fausse),

    donc ca donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrixFacture=vraifaux(moisdatefacture=1;prix*0.29;vraifaux(moisdatedefacture=2;prix*0.28;vraifaux(moisdatedefacutre=3;prix*.027;vraifaux(moisdatedefacture=4;prix*0.26))))
    avec un champs "moisdatefacture" et un champ "prix" initiaux

    C'est un formule à insérer directement dans ta requête

    tu l'utilise comme le "si" d'excel

    isabelle

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Requête sélection avec calculs conditionnels
    Je n'avais pourtant rien vu... je devais regarder avec des yeux de gars mouha! ha! ha!

    Blague à part, je vous remercie de vos infos. Alors je ferai mes tests avec le fameux "Switch()" et le "If()".

    Merci beaucoup!

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Requête sélection avec calculs conditionnels
    YAAHOOOOOOOOOOOOOOO!!!! Ça fonctionne à merveille!!

    J'ai écrit ma formule comme si c'était pour Excel et ensuite j'ai remplacé tous les "si" par "VraiFaux".

    Merci mille fois!! C'était le détail qu'il me manquait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Requête paramétré avec calcul d'un prix
    Par Piccou dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 18/02/2010, 18h14
  2. Requête sélection avec filtre
    Par stephen76 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 26/11/2008, 12h46
  3. Requête sélection avec création d'un nouveau champ
    Par martinfa dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 27/05/2008, 20h19
  4. Réponses: 3
    Dernier message: 22/12/2007, 14h06
  5. Requête sélection avec comme critère: champ vide
    Par droxyme dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/10/2007, 10h24

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