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 de 2 champs "heures" dans requête [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut Calcul de 2 champs "heures" dans requête
    Bonjour,

    J'ai une requête base sur une table horaire.
    Dans cette requete, j'ai 2 champs qui calculent des temps passés avec la formule suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    temps1: Format ([finTEMPSPASSE]-[debutTEMPSPASSE];"hh:nn")
    J'obtiens un resultat du style: 00:20
    les champs temps1 et temps2 ont la même syntaxe.(avec noms de champs différents bien sure)
    Je souhaite Dans un autre champs faire le cumul de ces 2 champs
    je mets donc la formule suivante:
    Cumultemps: Format ([temps1]+[temps2];"hh:nn")
    pour un cumul de 00:50 + 00:45, j'obtiens le résultat suivant:00:5000:45 au lieu de 01:35
    Access colle tout simplement les 2 resultats l'un à coté de l'autre au lieu de les additionner
    Si quelqu'un peu m'aider ce serait très sympa.
    Pour info e resultat ne depasse jamais 24h
    Merci d'avance
    Cjay974

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 426
    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 426
    Points : 20 004
    Points
    20 004
    Billets dans le blog
    67
    Par défaut
    Bonsoir,

    Essaie avec la fonction de conversion CDate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format (CDate([temps1])+CDate([temps2]);"hh:nn")
    ou plus simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CDate([temps1])+CDate([temps2])
    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut #Erreur
    Bonjour,

    merci pour cette réponse, cela fonctionne mais uniquement si je n'ai pas de champs vide.
    Si j'ai un champs vide cela affiche en résultat #Erreur
    a savoir dans l'exemple que j'ai donné, il y a que 2 champs mais en réalité il y en a 5.
    et dans la casi totalité de mes enregistrements il y a un champ vide.

    merci de votre aide

    Cdt

    Cjay974

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 426
    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 426
    Points : 20 004
    Points
    20 004
    Billets dans le blog
    67
    Par défaut
    Salut,

    Utilise la fonction nz qui te permet de renvoyer une valeur au choix si le champ est vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CDate(nz([temps1];0))+CDate(nz([temps2];0))
    A+

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut toujours #Erreur
    Bonsoir,
    Merci pour vos reponse. néanmois j'ai toujours message #Erreur dans mon champs quand je mets cette formule:

    Total temps: CDate(nz([Temps Recup];0))+CDate(nz([Temps Devis];0))+CDate(nz([Temps reparation];0))+CDate(nz([Temps prepa];0))+CDate(nz([Temps liv/demo];0))

    Pour info les 4 champs Temsp Recup, Temps reparation, Temps prepa et Temps liv/demo sont tous les 4 des champs avec un résultat de calcul.

    Merci d'avance

    Cjay974

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 426
    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 426
    Points : 20 004
    Points
    20 004
    Billets dans le blog
    67
    Par défaut
    Pour info les 4 champs Temsp Recup, Temps reparation, Temps prepa et Temps liv/demo sont tous les 4 des champs avec un résultat de calcul.
    Dans ce cas il faut appliquer la fonction nz sur les champs appelés dans le calcul de la requête source.

    Poste un exemple de champs calculés dans la requête source...

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut #Erreur
    Pour l'instant J'ai
    1 TABLE INTERV
    1 REQ INTERV
    Dans cette req:
    Champs debut recup : format heure abrégé de la table INTERV
    Champs fin recup : format heure abrége de la table INTERV
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champs Temps recup : nz(Format ([fin recup]-[debut recup];"hh:nn");0)
    idem pour devis, reparation, prepa, liv/demo

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 426
    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 426
    Points : 20 004
    Points
    20 004
    Billets dans le blog
    67
    Par défaut
    Salut,

    Tu as essayé comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champs Temps recup : Format (nz([fin recup;0)]-nz([debut recup];0);"hh:nn")
    A+

  9. #9
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut resolu
    YOUPI!!!!!!!

    Royal le code
    champs Temps recup : Format (nz([fin recup;0)]-nz([debut recup];0);"hh:nn")

    Petite correction pour ceux qui vont lire ce post:
    champs Temps recup : Format (nz([fin recup];0)-nz([debut recup];0);"hh:nn")

    Merci encore Denis

    @+

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/11/2010, 13h26
  2. Champ calculé dans requête
    Par AlexB59 dans le forum SQL
    Réponses: 3
    Dernier message: 04/01/2006, 16h52

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