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 :

Comment compter les "0" avec la fonction "compte"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut Comment compter les "0" avec la fonction "compte"
    Bonjour,

    Je voudrais faire une requête qui me compte le nombre d'horaire avec le critère (Comme "+")
    Le problème est qu'il arrive que parfois, il y ait des journées ou il n'y a aucun horaire avec un "+" mais dans ce cas il ne me compte pas la journée comme 0 horaire. Il me saute tout simplement la journée.

    Je voudrai donc pouvoir prendre en compte dans ma requête les horaires ou il n'y a pas de "+" et m'affiche 0

    C'est possible ?
    Merci

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Williamm,

    Pas très clair, ta demande... plusieurs choses :
    Citation Envoyé par Williamm
    .../... avec le critère (Comme "+")
    ==> avec "Comme" ("Like"), il faut utiliser le caractère générique "*". Champ1 Comme "*+*" : tous les enregistrements dont le Champ1 comporte "+", quelque soit sa position.

    Citation Envoyé par Williamm
    .../... il ne me compte pas la journée comme 0 horaire. Il me saute tout simplement la journée.
    ==> c'est la même chose, non ?

    Citation Envoyé par Williamm
    Je voudrai donc pouvoir prendre en compte dans ma requête les horaires ou il n'y a pas de "+" et m'affiche 0
    ==> pas compris.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    Merci pour ta réponse

    je vais éclaircir le problème:
    j'ai crée un planning sur un mois avec en tete de ligne les employés. En tete de colonne j'ai la date et comme valeur j'ai le type d'horaire (que ce soir productif ou improductif, d'où le symbole "+" que je mets pour symboliser l'improductivité)
    J'aimerai rajouter une ligne à mon tableau pour dire à chaque jour combien j'ai d'absents.

    La fonction "compte" marche très bien mais le problème est que lorsqu'il n'y a aucun absents lors d'une journée, ça me saute la colonne et entraîne un décalage. J'aimerai alors que lorsqu'il n'y a pas d'absents lors d'une journée, alors la fonction "compte" m'affiche 0 dans la ligne que j'ai crée et sur la colonne correspondante.

    J'espere avoir été plus clair ?
    Merci d'avance pour ton aide

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Williamm
    j'ai crée un planning sur un mois avec en tete de ligne les employés. En tete de colonne j'ai la date et comme valeur j'ai le type d'horaire
    ==> Tu parles d'un fichier Excel ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    non non, à l'aide de requête et le planning apparait sous forme d'état

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Williamm,

    Citation Envoyé par Williamm
    .../... à l'aide de requête .../...
    ==> il me semble entrevoir l'existant : la requête en question est-elle une requête "analyse croisée" ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    Oui exactement.
    Et c'est aussi avec une requête analyse croisée que j'affiche sur une ligne le nombre d'absents.

    Pour rappel (en ce qui concerne ma requête analyse croisé pour les absents):
    En en tete de ligne: j'ai une expression "Absent" qui fait office de titre de la ligne
    En en tete de colonne: j'ai "date" (la plage de date est seléctionner par l'utilisateur)
    Comme valeur: j'ai "compteDeHoraire" avec l'opération somme.

    Mon problème étant tjrs de ne pas arriver à afficher le nombre "0" dans une colonne ou il n'y a pas d'absents.

    Merci

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Williamm,

    Quand ta requête ne trouve aucune donnée pour une date, la date en question ne figure pas dans tes colonnes, c'est normal : Access ne peut pas "deviner" qu'il faut créer "artificiellement" des colonnes sans données. Cela, si j'ai bien compris.

    La solution consisterait :
    - à créer une table T1 avec toutes les dates souhaitées ;
    - à ajouter dans ta requête de base, en premier, T1 (FROM) ;
    - à lier T1 à ta table de données contenant la date avec flèche à droite (LEFT JOIN).
    ==> de cette manière, toutes les dates de T1 apparaîtront, qu'elles comportent des données ou non.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    Oui voilà tu as complètement cerné mon problème

    Je vois où tu veux en venir avec cette table T1.
    Je vais voir si j'y arrive car la structure de ma base est particulière car les dates qui apparaissent sur l'état de mon planning sont des dates qui sont sélectionnées au préalable.
    J'ai une table T_Calendrier où apparaît la date, le jour, le numéro de semaine et l'année sur une période de 5 ans.
    C'est donc a partir de cette table que j'ai ma requête où il me manque les dates où aucun absents ne figurent dans la journée.

    D'après toi il faut donc que je crée une table spécialement avec le champ "Date" qui reprend donc toutes les dates et que je relis ce champ par un LEFT JOIN sur le champ "Date" de T_Calendrier?

  10. #10
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Williamm
    J'ai une table T_Calendrier où apparaît la date, le jour, le numéro de semaine et l'année sur une période de 5 ans.
    ==> Juste une confirmation : T_Calendrier contient-elle toutes les dates sur 5 ans, même si aucune donnée n'est associée ?
    Si oui, tu peux prendre T_Calendrier en lieu et place de T1 et appliquer la procédure décrite précédemment.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  11. #11
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Pour information, je pars en congés demain matin : tu trouveras, sans doute, une bonne âme pour finaliser ce fil.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2008, 15h19
  2. Réponses: 13
    Dernier message: 22/07/2005, 18h25
  3. Réponses: 2
    Dernier message: 08/07/2005, 10h40
  4. [Graphique] Comment compter les couleurs d'une image ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 27
    Dernier message: 16/02/2005, 18h17
  5. Réponses: 5
    Dernier message: 15/02/2005, 10h32

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