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 :

Afficher colonne vide dans une requete analyse croisée


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2009
    Messages : 53
    Points : 48
    Points
    48
    Par défaut Afficher colonne vide dans une requete analyse croisée
    Bonjour,

    je gère un site d'inscription pour une compétition avec différentes catégories de population. Les gens s'inscrivent au fur et à mesure et pour le moment, je n'ai pas de reporter mais j'en aurai de façon sûre.

    J'ai une requête d'analyse croisée où je souhaite afficher les comptes de personnes en fonction des populations au fur et à mesure. Je souhaiterai afficher la colonne "Reporter" avec des zéros en attendant d'en avoir qui s'incrivent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TRANSFORM Nz(Count([nom]),0) AS Expr1
    SELECT T_Equipe.pays, Nz(Count([nom]),0) AS Total_Equipe
    FROM T_Type_Membre RIGHT JOIN (T_Equipe LEFT JOIN T_Membre ON T_Equipe.id = T_Membre.id_pays) ON T_Type_Membre.N° = T_Membre.type_person
    WHERE (((T_Type_Membre.Type_Membre)="Player" Or (T_Type_Membre.Type_Membre)="Adults" Or (T_Type_Membre.Type_Membre)="Reporter" Or (T_Type_Membre.Type_Membre)="Chaperon" Or (T_Type_Membre.Type_Membre) Is Null))
    GROUP BY T_Equipe.pays
    ORDER BY T_Equipe.pays
    PIVOT T_Type_Membre.Type_Membre;
    J'utilise cette requête comme source d'un formulaire ensuite qui m'affiche mes totaux et forcément, dans la colonne "Reporter", j'ai un #erreur pour le moment.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 917
    Points
    281 917
    Par défaut
    Bonjour,

    Et si on trichait un peu ?

    Au départ : tu inscris un participant fictif dans chaque catégorie.
    Ensuite dans tes calculs, tu retranches une unité.

    Le problème n’est pas résolu, mais il n’est plus gênant.

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    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 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    Bonjour julius26, salut Claude

    Plusieurs trucs…
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    …SELECT T_Equipe.pays, Nz(Count([nom]),0) AS Total_Equipe

    Le champ calculé Total_Equipe figurant déjà comme "valeur", il ne devrait pas être comme en-tête de ligne. A retirer il me semble.
    Je me demande également si on ne pourrait pas supprimer la condition IS NULL sur Type_Membre.

    Je souhaiterai afficher la colonne "Reporter" avec des zéros en attendant d'en avoir qui s'inscrivent.
    Dans la fenêtre des propriétés de la requête, il y en a une qui s’appelle "En-tête des colonnes" à compléter avec :
    "Players";"Adultes";"Reporter";"Chaperon"

    Au niveau SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    PIVOT T_Type_Membre.Type_Membre In ("Players","Adultes","Reporter","Chaperon");
    Cela devrait donner le résultat souhaité, et sauf erreur, je pense même que l’on peut supprimer tout le critère WHERE .

    Au final, je verrais bien :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Nz(Count([nom]),0) AS Expr1
    SELECT T_Equipe.pays
    FROM T_Type_Membre RIGHT JOIN (T_Equipe LEFT JOIN T_Membre ON T_Equipe.id = T_Membre.id_pays) ON T_Type_Membre.N° = T_Membre.type_person
    GROUP BY T_Equipe.pays
    ORDER BY T_Equipe.pays
    PIVOT T_Type_Membre.Type_Membre In ("Players","Adults","Reporter","Chaperon");

    à voir...

Discussions similaires

  1. [AC-2003] Message alerte dans une requete analyse croisée
    Par taz devil dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 07/07/2015, 14h24
  2. [AC-2007] Pb de somme dans un état issu d'une requete analyse croisée
    Par gihel dans le forum Access
    Réponses: 4
    Dernier message: 25/07/2014, 00h36
  3. Réponses: 0
    Dernier message: 17/10/2013, 09h53
  4. Afficher les lignes vides dans une requete
    Par Mattorre dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/07/2010, 14h13
  5. Etat basé sur une Requete Analyse Croisée
    Par Bercud dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/06/2006, 16h03

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