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

Access Discussion :

addition d'un temps au format hh:mm:ss


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Points : 61
    Points
    61
    Par défaut addition d'un temps au format hh:mm:ss
    Bonjour,

    Je suis de nouveau en panne d'inspiration...
    J'ai une requete de regroupement qui suivant un type me donne un montant. Jusque la pas de pb et ca marche tres bien en SQL.
    Par contre je voudrait qu'il m indique aussi par type le temps passé.
    Je m'explique. Da ma table j'ai un numéro, un type, un montant et un temps. J'ai besoin de faire la somme du temps passé et du montant par type.
    Dans ma table, le champ durée est en format heure complet.

    Comment puis-je faire?

    Merci bcp

    Anax

  2. #2
    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 : 55
    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
    aha !
    et en regardant dans la FAQ, t'as rien trouvé ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    Je suis en train d'essayer.
    La somme marche bien, mais cela renvoit en fait le temps sous forme d'un nombre (réel).

    Du coup, on peut utiliser via le générateur ou via SQL les fonctions de type date/heure, tel que Heure(), Minute(), Seconde()...

    J'arrive donc à obtenir l'heure, la minute et la seconde dans 3 champs séparés, mais je n'arrive pas à les concaténer (que ce soit || ou CONCAT, j'y arrive pas... mais acces sais normalement le faire, j'y arrive pas c tout).

  4. #4
    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 : 55
    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
    opérateur : &
    Fonction : FORMAT

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    je pensais que '&' ne fonctionnait qu'en VB, pas en SQL (par rapport à la doc http://sqlpro.developpez.com/cours/sqlaz/fonctions/)

    mais en effet cela marche, reste à comprendre FORMAT


    Autre pb, si j'ajoute 01:00:59 et 00:00:01, cela me donne H=1 M=0 S=60 (au lieu de H=1 M=1 S=0)...

    et pourquoi CONCAT et DATE_FORMAT(SUM(temps), '%h:%m:%s') me donne une erreur ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    J'ai ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT 
      anaxaTable.type,
      Sum(anaxaTable.montant) AS SommeDemontant, 
      FORMAT((hour(SUM(temps))) ,'00:' ) & 
      FORMAT((minute(SUM(temps))) ,'00:' ) &
      FORMAT((second(SUM(temps))) ,'00' )
    FROM anaxaTable
    GROUP BY anaxaTable.type;
    et allez comprendre la pb de 59+1 n'est plus (ca se trouve j'avais mal vu, je c pas, mais ca marche)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Points : 61
    Points
    61
    Par défaut
    Vous etes tous simplement geniaux
    Merci bcp j'essayé de passer par ADO... ca me simplifie drolement la vie

    Merci encore.

    Anax Tout heureux

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    j'ai fait le boulet a vouloir utiliser le generateur et donc les fonctions heure()...

    j'ai retrouvé une ancienne requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
       [anaxaTable].[type],
       Sum([anaxaTable].[montant]) AS SommeDemontant,
       FORMAT(SUM([temps]),"hh:nn:ss") AS SommeTemps
    FROM anaxaTable
    GROUP BY [anaxaTable].[type];

    rahhh : 34min pour arriver à poster sans que ca plante (de mon cote je pense)

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

Discussions similaires

  1. Soustraire deux unités de temps au format perso
    Par zika27 dans le forum Langage
    Réponses: 10
    Dernier message: 06/12/2013, 13h35
  2. stocker des temps au format hh:mm:ss:cc
    Par Ghalloun dans le forum Débuter
    Réponses: 3
    Dernier message: 13/09/2011, 09h57
  3. Temps de formation sur Windev
    Par pierre24 dans le forum WinDev
    Réponses: 4
    Dernier message: 14/10/2008, 16h27
  4. [interim] Emplois a mi temps + formation
    Par Agité dans le forum Etudes
    Réponses: 23
    Dernier message: 28/11/2005, 13h35
  5. Formater un temps en millisecondes
    Par TheDarkLewis dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/09/2004, 18h50

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