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 :

Avoir des zéro dans résultats requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut Avoir des zéro dans résultats requête
    Salut,

    le résultat de ma requête d'analyse croisée me donne un tableau de résultats (classé chronologiquement) dans lequel j'ai des résultats "vide". En fait, il n'y a aucune valeur ou plutôt j'attends un zéro.

    voici ma question : peut-on remplacer ces vides par des zéros afin que le graphique qui va être fait à partir du résultat de la requête puisse me faire des courbes passant par zéro au lieu d'avoir des courbes interrompues du fait d'une valeur inexistante.

    Merci de m'aiguiller.

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    utilise ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champ: VraiFaux(EstNull([MonChamp]);0;[MonChamp])

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    je ne comprend pas bien, où dois-je placer ce code ?

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Pour être plus explicite : voici ma requête :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Count(BDD_IN.[Type d'infection]) AS [CompteDeType d'infection]
    SELECT (Format([Date_prélèv],"mmm"" '""yy")) AS ["Mois"]
    FROM BDD_IN
    WHERE (((BDD_IN.[Type d'infection])="Infection urinaire") AND ((BDD_IN.IN_etb)="1"))
    GROUP BY (Year([Date_prélèv])*12+Month([Date_prélèv])-1), (Format([Date_prélèv],"mmm"" '""yy")), BDD_IN.IN_etb
    PIVOT BDD_IN.Précision_type_IN;
    et son résultat en pièce jointe


    Comment remplacer les cases vides par un zéro ?
    Images attachées Images attachées  

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essaye d'intéger l'instruction de Lou Pitchoun au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Count(BDD_IN.[Type d'infection]) AS [CompteDeType d'infection]
    en remplaçant mon champ par ce qu'il y'a dessus.

    Non garanti, pas testé.

    Starec

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Starec,

    l'instruction de Lou Pitchoun ne fonctionne pas d'autant le point-virgule trace une fin d'instruction. SQL ne peut pas exécuter la ligne de commande.

    j'envoie l'image de la requête en mode création si cela doit aider quelqu'un.(pièce jointe)

    je rappelle juste que mon souci est d'avoir le chiffre zéro à la place d'une valeur vide.

    merci à tous ceux qui pourront m'aider.
    Images attachées Images attachées  

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    L'instruction du Lou Pitchoun est pour la requête en mode français, sont équivalent dans le SQL devrait être IIf, le point virgule est pour la syntaxe française (donc dans la grille), et dans le SQL il faut mettre une virgule comme séparateur.

    Starec

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Starec, Lou pitchoun


    j'ai intégré la fonction dans mon SQL, la requête s'exécute mais le résultat reste le même.

    voici l'instruction SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Count(IIf(IsNull([BDD_IN].[Type d'infection]),"0",[BDD_IN].[Type d'infection])) AS CompteIN
    SELECT (Format([Date_prélèv],"mmm"" '""yy")) AS ["Mois"]
    FROM BDD_IN
    WHERE (((BDD_IN.[Type d'infection])="Infection urinaire") AND ((BDD_IN.IN_etb)="1"))
    GROUP BY (Year([Date_prélèv])*12+Month([Date_prélèv])-1), (Format([Date_prélèv],"mmm"" '""yy")), BDD_IN.IN_etb
    PIVOT BDD_IN.Précision_type_IN;

    je signale juste que j'ai aussi essayé le zéro sans les "", sans succès......

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    1 - Pense à mettre les balises codes.
    2 - C'est le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Count(BDD_IN.[Type d'infection]) AS [CompteDeType d'infection]
    qui devrait être mis dans la fonction If, pour mettre 0 à la place d'un vide.

    Starec

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    Oh YES

    Merci pour tout, je laisse mon code si cela peut servir à d'autre personne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM (IIf(IsNull(count(BDD_IN.[Type d'infection])),0,count(BDD_IN.[Type d'infection]))) AS CompteIN
    SELECT (Format([Date_prélèv],"mmm"" '""yy")) AS ["Mois"]
    FROM BDD_IN
    WHERE (((BDD_IN.[Type d'infection])="Infection urinaire") AND ((BDD_IN.IN_etb)="1"))
    GROUP BY (Year([Date_prélèv])*12+Month([Date_prélèv])-1), (Format([Date_prélèv],"mmm"" '""yy")), BDD_IN.IN_etb
    PIVOT BDD_IN.Précision_type_IN;


    Merci pour votre patience

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

Discussions similaires

  1. avoir un enregistrement avec des zéros quand la requête est vide
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/05/2008, 14h41
  2. Réponses: 1
    Dernier message: 21/03/2006, 14h29
  3. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 15h34
  4. [SQL server] Comment Fusionner des données dans une requête
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 15h24
  5. Comment avoir des marges dans un TRichEdit ?
    Par nomdutilisateur dans le forum Composants VCL
    Réponses: 5
    Dernier message: 25/06/2004, 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