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

Langage SQL Discussion :

regroupement et affichage du rien


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut regroupement et affichage du rien
    Bonjour,

    Je suis sous access 2003 et je tente de faire une requête pour m'afficher certains critères par mois. Le problème est que si je n'ai rien pour un mois il me zappe le mois en question sur toute la ligne et les graphiques qui en decoulent sont faux de part ce manque. Il me faut zero au lien du zappage de ligne total, j'ai essayé avec les post du forum qui parle de la fonction Nz(nom du champ, valeur si null) mais je ne parviens pas a la placer et cela ne fonctionne pas. C'est pourtant une fonction essantiel et je ne comprends pas comment access n'a pas prévu ce truc !!!!

    Voici ma requête, si le coeur vous en dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Count([R 3-0 centralevolution6mois].PM) AS CompteDePM, Month([R 3-0 centralevolution6mois].DateOuverture) AS Expr1
    FROM [R 3-0 centralevolution6mois]
    GROUP BY Month([R 3-0 centralevolution6mois].DateOuverture), [R 3-0 centralevolution6mois].CodeEvenmt
    HAVING ((([R 3-0 centralevolution6mois].CodeEvenmt) Like "0 - nouveau"));
    voici le resultat dans access, vous pouvais constater dans la colonne de droite qui m'indique les mois, je n'ai que 4 lignes (mois d'avril, juin, aout et septembre) sur 12 mois que compte l'année. Il me faut les zeros.

    Nbre 0-nouveau | Expr1
    2_________________4
    1_________________6
    1_________________8
    1_________________9

    Je vous fait des gros bécos s'il y en a un qui trouve car je m'arrache les cheveux sur une fonction qui devrait être a mon gout intégré nativement dans access, Grrrrr!!!!

    A plus

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 392
    Points
    28 392
    Par défaut
    Et d'où Access devrait-il sortir les mois qui ne sont pas dans les données ?

  3. #3
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Ceci est tout à fait normal : Vous essayez ici d'afficher une donnée qui n'existe pas dans votre table

    Le mieux dans votre cas est de completer votre requete sur une "deuxieme table" de type "MOIS" (Qui vous ramene la liste des mois à gerer sur votre requete)
    La jointure à réaliser sur cette 2ème table devra etre de type "Externe" (Ce qui veut dire que meme si un mois n'est pas présent sur votre requete de base , ce dernier sera forcement afficher en sortie avec un count à "0")

  4. #4
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Un exemple vaut mieux que "n" discours
    La table des mois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    select * from mois;
     
             M
    ----------
             1
             2
             3
             4
             5
             6
             7
             8
             9
            10
            11
     
             M
    ----------
            12
    La Table des Données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select * from data;
     
          MOIS        NBR
    ---------- ----------
             1         10
             1          2
             1          5
             6          1
             7          7
             8         10
             9          1
    Par mois Quelle quantité ?
    SQL> Select Mois.M , count(D.nbr)
    2 From Data D,MOIS
    3 Where D.mois = Mois.M
    4 Group by Mois.M;

    M COUNT(D.NBR)
    ---------- ------------
    1 3
    6 1
    7 1
    8 1
    9 1

    7 rows selected.
    Maintenant vous voulez avoir ce meme resultat mais sur tous les mois
    "Utilisation d'une jointure Externe"
    (Syntaxe ORACLE ici : J'ai pas d'access sous la main )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Select Mois.M , count(D.nbr)
      2  From   Data D,MOIS
      3  Where  D.mois(+) = Mois.M
      4  Group by Mois.M;
    
             M COUNT(D.NBR)
    ---------- ------------
             1            3
             2            0
             3            0
             4            0
             5            0
             6            1
             7            1
             8            1
             9            1
            10            0
            11            0
    
             M COUNT(D.NBR)
    ---------- ------------
            12            0
    
    12 rows selected.
    CQFD

Discussions similaires

  1. [AC-2010] Requete regroupement avec affichage valeurs nulles
    Par LAURENTN45 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/06/2013, 19h44
  2. Tout les ventilo tournent, no boot, ni beep, ni affichage, ni rien
    Par Interruption13h dans le forum Composants
    Réponses: 7
    Dernier message: 12/03/2011, 14h32
  3. [AC-2000] faire des regroupements avant affichage dans un formulaire
    Par Nashe dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/09/2009, 15h04
  4. [CR??][Débutant] Regroupement, affichage en ligne
    Par doudou_rennes dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 31/05/2007, 11h41
  5. [debutante] [JDBComboBox]rien à l'affichage
    Par Lina dans le forum JBuilder
    Réponses: 3
    Dernier message: 22/11/2002, 13h31

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