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 :

Dernière ligne requête fonction iif


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Par défaut Dernière ligne requête fonction iif
    Bonjour à tous,
    J'ai beau chercher je ne trouve pas la solution à mon problème.

    J'ai ma requête qui en fonction du montantHTCde et du Franco applique ou pas les FraisDePort.

    Tout marche nickel sauf pour la dernière ligne de la requête qui multiplie par 2 les FraisDePort.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Commande.IdCommande, Commande.MontantHTCde, FournisseurPrincipal.Franco, Commande.FraisDePort, 
    Sum(IIf([MontantHTCde]<[Franco],[FraisDePort],"0,00")) AS Expr1, 
    ([Expr1]*1.196)-[Expr1] AS TvaSurFraisDePort
    FROM (FournisseurPrincipal INNER JOIN Produit ON FournisseurPrincipal.FournisseurPrincipal=Produit.FournisseurPrincipal) 
    INNER JOIN (Commande INNER JOIN LigneCde ON Commande.IdCommande=LigneCde.IdCommande) ON Produit.IdProduit=LigneCde.IdProduit
    GROUP BY Commande.IdCommande, Commande.MontantHTCde, FournisseurPrincipal.Franco, Commande.FraisDePort;

    Quelqu'1 peut il m'aider ?
    Merci d'avance
    Mimosa21

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    A lire ta requête (tu comprendras que je n'ai pas reproduit les tables), je pense que la requête multiplie tes FP par 2 parce que tu as deux produits sur cette commande. Si tu en avais trois, tu aurais FP * 3, etc.

    Pour moi, le inner join sur les lignes de commande est de trop.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Par défaut
    Merci de m'avoir répondu, je ne pense pas que ça vienne de cela. Je n'ai pas le temps de controler ça ce soir. Je rentre juste du boulot mais je vérifierai demain matin avant de repartir pour le boulot.
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Par défaut
    Bonjour tous,
    Je n'ai pas pu me mettre sur mon cas avant aujourd'hui mais effectivement cela vient bien du fait qu'il y ait plusieurs articles en commande.

    Enfin presque !!!

    Partant sur ce principe, je me suis dit que ça s'ajoutait donc cela venait de ma fonction iif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf([MontantHTCde]<[Franco],[FraisDePort],"0,00")) AS Expr1
    j'ai retiré Sum(). Ce qui me donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf([MontantHTCde]<[Franco],[FraisDePort],"0,00") AS Expr1
    Et là top moumoute, ça marche !!!

    Merci beaucoup Pierre, vous m'avez beaucoup aidé.
    Ps: Le inner Join vient du mode création qui me lie plusieures table pour obtenir mon résulat.


    Un autre problème à surgit car je n'arrivais plus à mettre le format en 0,00€. Résolu par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf([MontantHTCde]<[Franco],[FraisDePort],"0") AS Expr1, FormatCurrency([Expr1],2) AS Expr2
    Encore une fois merci
    Mimosa21

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

Discussions similaires

  1. Recherche de la dernière ligne en fonction d'un code en debut de colonne
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2007, 16h01
  2. [MySQL] la fonction PHP qui permet de recuperer la dernière ligne inserée dans bdd
    Par otari dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/06/2007, 19h05
  3. [Requête] Fonction "Est Null" et Iif()
    Par lolo25 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/12/2006, 12h41
  4. Réponses: 6
    Dernier message: 09/06/2006, 18h22
  5. requête extraction dernière ligne table
    Par COLOMBAT dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/06/2006, 09h57

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