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 :

Somme avec Critères différents


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Somme avec Critères différents
    Bonjour
    J'ai fait une requête pour calculer la somme de mon chiffre d'affaire selon des dates différentes, cependant je ne trouve pas d'autres solutions que de mettre un vrai faux dans le select, savez vous comment optimiser cette requête afin de mettre le choix des dates en critères et non dans le select tout en obtenant le même résultat ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TableCommande.CodeClient, Sum(IIf([TableCommande].[DateFacture] Between #1/1/2010# And #12/31/2010#,[CA],0)) AS Expr2, Sum(IIf([TableCommande].[DateFacture] Between #1/1/2011# And #12/31/2011#,[CA],0)) AS Expr1, Sum(IIf([TableCommande].[DateFacture] Between #1/1/2012# And #12/31/2012#,[CA],0)) AS Expr3, [Expr3]/[Expr1] AS Expr4
    FROM TableCommande
    GROUP BY TableCommande.CodeClient;
    Merci D'avance

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    bonjour,

    une alternative consisterait à construire des sous-requêtes (SR2010, SR2011, SR2012).

    Pour l'année 2010, cela donnerait SR2010:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CodeClient, SUM([CA]) as SommeCA_2010
    FROM TableCommande
    WHERE [DateFacture] Between #1/1/2010# And #12/31/2010#
    GROUP BY CodeClient;

    puis une requête principale (avec l'assistant):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TableCommande--------->SR2010
               |---------->SR2011
               |---------->SR2012
    avec des jointures de type "2", et en utilisant la fonction Nz.

    ...Mais à mon avis c'est loin d'être une optimisation

    Tu peux déjà essayer:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    ...WHERE Year([DateFacture])=2010

Discussions similaires

  1. [XL-2010] Filtrer plusieurs colonnes avec critères différents
    Par amorello dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/05/2015, 14h38
  2. Requête Somme avec critère sur date
    Par Pixel dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/05/2014, 20h02
  3. Somme avec critère
    Par peralex dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/07/2009, 17h15
  4. Réponses: 8
    Dernier message: 16/02/2007, 12h53
  5. [Excel] Somme avec critères de plusieurs colonnes
    Par trihanhcie dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/02/2007, 10h55

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