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 :

Requête calculée conditionnelle


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Points : 21
    Points
    21
    Par défaut Requête calculée conditionnelle
    Bonjour,

    L'objectif qui me pose pb est le calcul d'un champ de requête mais qui est conditonné par la valeur d'un champ.

    Exemple:

    J'ai un champ1 qui à une valeur variant de 1 à 5
    j'ai un champ2
    et j'ai plusieurs champs ( champ3 / champ4 / champ5 )

    Je voudrai créer une formule qui permettrai de fair :

    ChampCalculé = Si (Champ1=4) alors [Champ2]*[champ5]


    C'est-à-dire que selon la valeur du champ1, le champ2 est multiplié par l'un des champ3,4 ou 5.
    ( par exemple si champ1=1 alors c'est le champ3 / si champ1=2 alors c'est champ4,...)

    Quelqu'un peux-t-il m'aider...

    Plus globalement, quelqu'un peut-il me donner des liens internet qui explique correctement les formules. Tout ce que je trouve pour le moment ce sont des tuto bidon qui tiennent sur 3 pageS... :s

    Merci_à_tous / Bon_Dev

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonjour,

    ChampCalculé = Si (Champ1=4) alors [Champ2]*[champ5]

    Tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    champcalculé:iif(champ1=4;Champ2*champ5;iif(......))
    Des fois la solution est dans la demande.

    Cordialement,

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merci, je dois pas être loin mais ca marche pas.

    Si je ne tape la formule que pour 1 seul condition ca fonctionne sinon ca ne marche pas.

    champcalculé:iif(champ1=4;Champ2*Champ5) ------>FONCTIONNE

    champcalculé:iif(champ1=4;Champ2*Champ5);iif(champ1=5;champ2*champ6)

    -----> NE FONCTIONNE PAS

    Il doit manquer quelquechose...

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Access c'est comme les maths, les paranthèses sont importantes et doivent respecter un certain ordre.

    Quand on fait une recherche avec F1 voici ce que l'on peut voir (en gros) :

    iif(condition;condition vrai;condition fausse)

    Le reste c'est de l'imbrication logique. Espérant t'avoir mis sur la voie.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    Essayer éventuellement une requête de ce style si champ1 ne contient que des entiers de 1 à 5:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT [champ2]*(Choose([champ1],[champ3],[champ4],[champ5],[champ6],[champ7])) AS champcalculé
    FROM MaTable AS T1;
    cordialement,

    Philippe

Discussions similaires

  1. Requête sélection avec calculs conditionnels
    Par CassiopeeQC dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/09/2008, 00h45
  2. [Requête] Calcul dans requête
    Par athenasst dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/04/2007, 14h24
  3. [Requête] - [calcul] - Somme
    Par louroulou dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/07/2006, 16h05
  4. [Debutant]Requête Calcul 2!
    Par ghan77 dans le forum Bases de données
    Réponses: 10
    Dernier message: 12/01/2006, 12h09
  5. Requête calcul sur champs
    Par tikawua dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/10/2005, 15h26

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