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

VBA Access Discussion :

Tri croissant dans une requete cumul [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Points : 155
    Points
    155
    Par défaut Tri croissant dans une requete cumul
    Bonjour,

    Dans une de mes requêtes, j'ai :
    - une première colonne qui cumul toutes les dates sur un même mois et affiche le mois correspondant
    - une deuxième colonne qui cumul tous les champs crédit du mois et tous les champs débit du mois pour afficher la différence

    Voici le code en SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Format$([DATE_OPERATION],"mmmm yyyy",0,0) AS Mois, (IIf((Sum([CREDIT])) Is Null,"0",(Sum([CREDIT]))))-(IIf((Sum([DEBIT])) Is Null,"0",(Sum([DEBIT])))) AS Cumul
    FROM T_OPERATION
    GROUP BY Format$([DATE_OPERATION],"mmmm yyyy",0,0);
    Le problème c'est qu'à l'affichage, le tri peut se faire uniquement sur la colonne "mois" sauf que ce n'est pas un tri croissant par rapport aux dates mais par rapport à l'alphabet.

    Est ce que qq1 à une solution ?

    Par avance merci

    Nini

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,
    Je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    orderby Format$([DATE_OPERATION],"yyyymm",0,0)
    devrait être accepté, non ?

    Sinon il est possible de l'ajouter en 3e colonne et dans le group by

  3. #3
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Bonjour.
    Je te livre cette bidouille toute personnelle qui ne saurait être qu'une solution de contournement :

    Lorsque je souhaite un tri sur un champ date, je la passe au format japonais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FORMAT(StrDate, "YYYY/MM/DD")
    puis la clause ORDER BY fonctionne
    Cordialement.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Points : 155
    Points
    155
    Par défaut
    Merci pour les réponses !

    Nico84:
    Le "orderby" ne fonctionne pas car je suis sur du mois affiché en texte donc il classe selon l'alphabet
    Je ne comprend pas :
    Sinon il est possible de l'ajouter en 3e colonne et dans le group by


    GillesDeVuif :
    cela ne répond pas à ma question car je me trouve avec toutes les dates alors que je veux un cumul des dates d'un même mois.

  5. #5
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Bonjour.

    Le "orderby" ne fonctionne pas car je suis sur du mois affiché en texte donc il classe selon l'alphabet
    C'est pour répondre à cette apparence que nos réponses respectives se rejoignent : tu passes l'année en premier, et après le mois (et éventuellement le jour, si besoin était), c'est dans cet ordre que le tri peut s'effectuer de façon cohérente.

    Regarde bien la syntaxe de NICO84 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format$([DATE_OPERATION],"yyyymm",0,0)
    un peu différente de l'originale, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format$([DATE_OPERATION],"mmmm yyyy",0,0)
    Cordialement.

  6. #6
    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 à tous,

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
       Format$([DATE_OPERATION],"mmmm yyyy",0,0) AS Mois,
       (IIf((Sum([CREDIT])) Is Null,"0",(Sum([CREDIT]))))-(IIf((Sum([DEBIT])) Is Null,"0",(Sum([DEBIT])))) AS Cumul
    FROM T_OPERATION
    GROUP BY Format$([DATE_OPERATION],"mmmm yyyy",0,0), Format$([DATE_OPERATION],"yymm")
    ORDER BY Format$([DATE_OPERATION],"yymm")


  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Points : 155
    Points
    155
    Par défaut


    Vous êtes top !!

    En plus, j'ai compris la remarque de Nico sur la 3ième colonne

    Merci encore

    Nini

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

Discussions similaires

  1. Cumul dans une requete
    Par db48752b dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/09/2009, 21h19
  2. Peut-on faire des cumuls dans une requete ?
    Par kikidrome dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 20/03/2008, 16h12
  3. Tri dans une requete
    Par athenasst dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/03/2008, 20h42
  4. Somme et tri dans une requete
    Par lelapinrusse dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/01/2008, 14h55
  5. tri dans une requete
    Par bibi_forever dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2007, 11h22

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