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 Tarif * Nombre d'heures


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Calcul Tarif * Nombre d'heures
    Bonjour à tous,
    Je cherche en vain depuis plusieurs semaines à calculer un nb d'heure (nbH) par un tarif (Tarif) sous access 2007.
    Mon champs heure (nbH) est au format "heure, abrégé".
    Mon champs tarif (Tarif) est au format monétaire.

    Je souhaiterais arriver à ce résultat via une requête si possible mais ne suit pas contre du code VBA.

    Merci d'avance de vos réponses.

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir et bienvenue,

    Pourriez vous nous en dire un peu plus ?


  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut + d'infos ..
    En fait il s'agit d'une appli de gestion d'aide à domicile.
    Le champs Tarif fait parti de la table client. Chaque client a un tarif spécifique selon son contrat et type de service (est ce correct d'ailleurs de le saisir dans cette table ?)

    Dans une seconde Table -ACTIVITE- sont inscrit les jours et heures passés chez les clients (heure debut - heure fin).

    Une requete calcule le nb total d'heure (heure fin - heure debut) passé par client par mois. Et pour editer une facture je souhaitais donc multiplier ce nb d'heure par le tarif.
    (grosso modo, j'ai passé 3 heures le mois dernier chez un client au tarif de 11 E de l'heure, comment arriver au resultat de 33 E.)

    Merci de vous intéresser à mon souci

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

    Hé bien si tu as déjà calculé ton temps passé et si tu as ton tarif horaire, où bloques tu?
    Ah moins que ce ne soit la conversion du temps passé en centième d'heure?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par madhox94 Voir le message
    Mon champs heure (nbH) est au format "heure, abrégé".
    Mon champs tarif (Tarif) est au format monétaire.
    Si je comprends bien, ton champ qui stocke ton temps passe nbH est un champ de type date.
    Donc, si il est au format date, il faut savoir que la partie entiere represente les jours et la partie fractionaire represente le temps ecoule dans le jour
    Il suffit donc de multiplier la partie fractionaire par le cout horraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DIM Temps as single
    Temps=csng(nbH)
    Prix=(Temps-Fix(Temps)) * Tarif

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses.
    J'ai bien essayé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DIM Temps as single
    Temps=csng(nbH)
    Prix=(Temps-Fix(Temps)) * Tarif
    mais il m'affiche le même résultat pour tous les clients et ce quelque soit le nb d'heure passé : "2,09".
    Ne s'agit-il pas en fait de convertir mon NbH en centieme ? Si oui pourriez vous m'eclairer sur le process ?

    Encore merci à vous.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Pour que cela marche il faut imperativement que ton champ nbH soit de type date/heure
    Oups, j'ai ommis un truc (Le 24 h car nous sommes en jour)
    Si tu l'inclus dans une requete, il faut faire dans la clause select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (csng(nbH)-Fix(csng(nbH))) * Tarif *24 AS PTT
    Si tu l'inclus dans un controle, dans la source, il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =(csng(nbH)-Fix(csng(nbH))) * Tarif *24
    Le champ de type date est comme cela: 1.9 equivaut à 1 jour + 0,9 jour
    en faisant (csng(nbH)-Fix(csng(nbH))) on extrait 0.9 qui est bien le nombre d'heure passe en plus. Si on fait un affichage de ce 0.9 en mode date, on obtient 21h36mm. En faisant (csng(nbH)-Fix(csng(nbH))) * 24 on obtient bien 21.60 (21h et 60 centieme d'heure)
    Si on veut prendre en compte les jours car le temps passe peut durer plus de 1 jour, alors il ne faut pas faire l'extraction des heures mais juste faire la conversion csng(nbH)*24 qui nous donnera le nombre d'heures total

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci à tous et particulièrement à belu33fr : tes explications sont claires et le code fourni m'a permis d'arriver au resultat attendu.MERCI.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/10/2011, 16h09
  2. [MySQL] Calculer un nombre d'heure / semaine à cheval sur 2 mois !
    Par phapha89 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/12/2010, 17h40
  3. [XL-2007] Calculer le nombre d'heure dans un intervalle de temps
    Par sofianeb dans le forum Excel
    Réponses: 2
    Dernier message: 13/04/2010, 16h06
  4. Calculer le nombre d'heures entre 2 dates
    Par naim2009 dans le forum Langage
    Réponses: 15
    Dernier message: 07/04/2009, 11h38
  5. [SQL] calcul du nombre d'heure entre deux dates
    Par ahmedbj dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/03/2009, 12h10

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