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 :

[Requête] somme d'un champ selon une intervalle choisie


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut [Requête] somme d'un champ selon un interval choisi
    Bonjour,

    Je possède une base de donnée pour le suivi des heures de chauffeur.

    J'ai une requête qui transforme le jour de travail en un champs mois et année.

    Je possède une deuxième requête pour calculer les heures supplémentaires inférieur à un mois et année choisi dans deux combobox.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Sum([Détail des heures de travail].[Heures supp]) AS [Heures supp< mois]
    FROM [Détail des heures de travail]
    WHERE ((([Détail des heures de travail].Mois)<=[cmbMois]) AND (([Détail des heures de travail].Chauffeur) Like [cmbChauffeur]) AND (([Détail des heures de travail].Année)<=[cmbAnnée]));
    Détail des heures de travail: requête avec l'ensemble de mes enregistrements et date modifiée
    Heures supp : heures supplémentaire calculé dans la précedente requête
    cmbMois: nom du combobox pour choisir le mois souhaité
    cmbChauffeur: nom du combobox pour choisir le chauffeur souhaité
    cmbAnnée: nom du combobox pour choisir l'année souhaitée

    Cela fonctionnai très bien en 2006. mais maintenant on est passé en 2007 (bonne année!) .
    Donc si je choisi le mois de janvier la requête effectue : mois <= 01 et année <=2007.
    Le résultat étant uniquement le 01/07 au lieu de 01/07 et tous les mois de 2006.

    Ai-je été assez clair? Si oui comment puis je remédier à cette érreur de programmation?
    Merci d'avance

  2. #2
    Membre du Club Avatar de puppusse79
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    Le résultat étant uniquement le 01/07 au lieu de 01/07 et tous les mois de 2006.
    Pas trop clair , non
    Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ben tu peux toujours jouer sur
    Elle est pas belle la vie ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    je présice alors!
    le résultat étant les heures supplémentaire de janvier 2007 au lieu de la somme des heures suppl du mois de janvier 2007 et de tous ceux d'avant

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Bonjour random, j'ai pas compris le code que tu m'indique

    Citation Envoyé par random
    ben tu peux toujours jouer sur

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    personne pour m'aider?

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    pourqoui ne pas te limiter aux heures de l'année en cours et donc modifier ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... (([Détail des heures de travail].Année)<=[cmbAnnée]
    à remplacer par =
    Bonne journée
    "Always look at the bright side of life." Monty Python.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    parce que j'ai sur un formulaire :
    - heures supplémentaire du mois choisi
    - heures supp. cumulé(mois choisi + précédent)
    - heures supp. récupérées
    - heures restantes (heures cumul - récupérées)

    C'est les heures cumulés qui me posent problèmes.

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Juste pour savoir ce qui se passe.

    En enlevant dans ton where le like qu'est ce que tu optiends?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE ((([Détail des heures de travail].Mois)<=[cmbMois]) AND (([Détail des heures de travail].Année)<=[cmbAnnée]));
    Amicalement

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    j'obtiens la même chose le like me sert pour un formulaire où je peux ne pas choisir mon chauffeur soit : *. Or * nécessite la mention like.

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Je ne vois pas d'erreur dans la requête.

    Peut tu montrer la requête Détail des heures de travail.
    Amicalement

  12. #12
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    C'est parce que ton mois n'est pas exprimé en numérique, mais en chaine de caractères.
    Donc, dans l'ordre, on a :

    "01"
    "02"
    "03"
    "04"
    "05"
    "06"
    "07"
    "08"
    "09"
    "10"
    "11"
    "12"

    et donc, forcément, "01" ne peut être <= à "12"


    essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WHERE val(Mois)<=val([cmbMois]) AND val(Année)<=val([cmbAnnée])

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Hélas même avec cette modification cela reste identique.

    Je met une partie de ma bd en pièce jointe.

    Formulaire : synthèse.

    Ex du problème :
    Jean Luc GERARD 12/2006 : reste des heures supplémentaires :14.25
    Jean Luc GERARD 01/2007 :heures suppl :6.58 cumul :6.58 au lieu de 20.83 (6.58 + 14.25)

    J'espère que cela poura être plus explicite.
    Fichiers attachés Fichiers attachés

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Avec la base de donnée, personne peut me dépanner, svp?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    J'ai réussi à me dépatouiller d'une autre façon pour que ça fontionne.
    Merci comme même pour l'aide

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

Discussions similaires

  1. [AC-2007] Somme d'un champ dans une requête SQL
    Par maylouz dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/06/2014, 22h48
  2. [AC-2002] Somme de 12 champs dans une requête
    Par Accessaa dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 01/06/2013, 07h41
  3. Requête SELECT avec deux champs dans une colonne ??
    Par fredhali2000 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 08/06/2006, 10h41
  4. somme de deux champs d'une requete
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 22/03/2006, 09h43
  5. [VBA] remplissage d'un champs selon une recherche
    Par Virgile59 dans le forum Access
    Réponses: 7
    Dernier message: 04/11/2005, 09h52

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