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 :

calcul nombre d'heures travaillées [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut calcul nombre d'heures travaillées
    bonjour, à partir de l'application "planning" disponible sur le site, dans la table T_planning, j'ai:
    matricule (numérique) du personnel
    dateJ (date)
    code (texte) correspond au type de garde effectué (soit G,GF,J,N,F,F/2)

    j'ai plusieurs requêtes
    Nb de garde 24heures(G):
    matricule- code(="G" ou "GF")-compte(dateJ)-Nb heures 24=compte(dateJ)*18)
    Nb de garde 12heures(J):
    matricule- code(="J")-compte(dateJ)-Nb heures 12: (=compte(dateJ)*12)
    Nb de garde nuit:
    matricule- code(="J")-compte(dateJ)-Nb heures N: (=compte(dateJ)*6)
    Nb de garde F:
    matricule- code(="F")-compte(dateJ)-Nb heures F: (=compte(dateJ)*4)
    ....
    Pour les requêtes 24 et 12 heures, il y a obligatoirement plusieurs enregistrements, donc matricule est lié (condition jointure sur 1er choix)
    Pour les autres requêtes, il n'y a pas obligatoirement d'enregistrement, la jointure par de matricule(24 ou 12) vers la requête.

    ma requête récapitulative est:
    matricule - Quota annuel:[Req24]compte(dateJ)*18+[Req12]compte(dateJ)*12+[ReqN]compte(dateJ)*6+[ReqF]compte(dateJ)*4

    Mon problème est que lorsque je fais la somme des nombre d'heures de chaque requête, dès lors que j'ai une requête sans valeur, je n'obtiens aucun résultat.
    Il y a-t-il un moyen pour que la valeur par défaut soit zéro?

    n'hésitez pas à me dire si vous ne comprenez pas.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Salut,

    Je n'ai pas tout suivi tes formules et tes requêtes, mais si tu souhaites avoir 0 s'il n'y a pas d'enrg. tu peux faite une jointure gauche entre la table des agents et ta requête.

    Par exemple cette requête compte le nombre d'heures pour chaque agent et si l'agent n'a pas fait de garde elle affiche 0 :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_Personne.Matricule, T_Personne.Nom, nz(TaRequete.[NbreHeures],0) AS NbHeures
    FROM TaRequete RIGHT JOIN T_Personne ON TaRequete.Matricule = T_Personne.Matricule;

    Tu peux t'en inspirer

    TaRequete désigne ta requête finale contenant le calcul des heures des agents et [NbreHeures] désigne le champ qui fait le calcul dans ta requête.

    la fonction nz renvoie 0 si le champ est vide.

    A+

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

Discussions similaires

  1. [AC-2003] Nombre d'heures travaillées
    Par canalg dans le forum VBA Access
    Réponses: 8
    Dernier message: 16/03/2018, 16h16
  2. [XL-2010] Calcule nombre d'heures repos
    Par mendeve dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2013, 19h58
  3. [MCD] Nombre d'heures travaillées par mois par année par compte
    Par Tidus159 dans le forum Schéma
    Réponses: 9
    Dernier message: 11/03/2011, 12h20
  4. [XL-2003] calcule nombre d'heure entre 8h 12h - 13h 17h
    Par Neptune64 dans le forum Excel
    Réponses: 4
    Dernier message: 03/10/2010, 22h11
  5. Réponses: 1
    Dernier message: 05/01/2010, 23h59

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