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

OpenOffice & LibreOffice Discussion :

Additionner des heures provenant d'une requête ? [LibreOffice][Base de données]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Additionner des heures provenant d'une requête ?
    Bonjour,
    Je débute avec Base de Libre Office,
    J'ai réalisé une base de donnée qui traite différentes informations mais à présent, je souhaiterais ajouter une valeur temps.
    En fait, lors de l'encodage, j'encode l'heure de début et de fin d'un travail et avec une requête je calcul le temps de ce travail.
    Au final je me retrouve avec 6 temps et je souhaiterais faire l'addition de ceux-ci mais là ????

    Exemple de la requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 1", "Heure Out 1" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 1", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 2", "Heure Out 2" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 2", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 3", "Heure Out 3" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 3", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 4", "Heure Out 4" ) || ':00' AS "TIME" ), 'HH:MI' ) "temps 4", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 5", "Heure Out 5" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 5", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 6", "Heure Out 6" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 6" FROM "lieu de contrôle"

    Merci d'avance et bonne soirée

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 2 342
    Points : 5 915
    Points
    5 915
    Par défaut
    hello,
    çà c'est de la requête. Es-tu obligé d'utiliser une requête ? avec une macro oo basic cela serait peut-être plus simple. Explique-nous un peu ta base de données (Heure In x Heure Out x sont des champs ?) et pourquoi et dans quel contexte (formulaire ? écriture en base dans un champ ?) tu veux l'addition des temps. On est un peu dans le flou

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    janvier 2005
    Messages
    9 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2005
    Messages : 9 407
    Points : 58 578
    Points
    58 578
    Billets dans le blog
    11
    Par défaut
    Et pourquoi pas additionner toutes les durées :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 1", "Heure Out 1" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 1", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 2", "Heure Out 2" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 2", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 3", "Heure Out 3" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 3", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 4", "Heure Out 4" ) || ':00' AS "TIME" ), 'HH:MI' ) "temps 4", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 5", "Heure Out 5" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 5", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure In 6", "Heure Out 6" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps 6", 
    DATEDIFF( 'mi', "Heure In 1", "Heure Out 1" ) + DATEDIFF( 'mi', "Heure In 2", "Heure Out 2" ) + DATEDIFF( 'mi', "Heure In 3", "Heure Out 3" ) + DATEDIFF( 'mi', "Heure In 4", "Heure Out 4" ) + DATEDIFF( 'mi', "Heure In 5", "Heure Out 5" ) + DATEDIFF( 'mi', "Heure In 6", "Heure Out 6" ) "TPS_TOTAL" 
    FROM "lieu de contrôle"
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  4. #4
    Candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    jurassic pork en fait la base de données est composée de deux tables et de plusieurs requêtes. La première table qui nous intéresse est complétée à l'aide d'un formulaire.
    J'entre dans celle-ci les 6 lieux de travail de la journée. Cette table porte le nom "lieu de contrôle".
    Dans cette table j'encode l'heure de début du travail "Heure In X" et l'heure de fin "Heure Out X" (X est un chiffre de 1 à 6 en fonction du lieu où je me trouve).
    L'autre table contient des informations récoltée sur chaque lieu.

    zoom61, j'ai testé ton code mais la colonne TPS_TOTAL reste vide :o(

    Merci à vous deux

    Seb

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    janvier 2005
    Messages
    9 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2005
    Messages : 9 407
    Points : 58 578
    Points
    58 578
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par sebac8 Voir le message
    zoom61, j'ai testé ton code mais la colonne TPS_TOTAL reste vide :o(
    Il y a des valeurs pour chaque comparaison de temps ?
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 2 342
    Points : 5 915
    Points
    5 915
    Par défaut
    hello,
    j'ai fait un test avec une base composée de 12 champs de type TIME .
    En utilisant la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT "Heure in 1", "Heure out 1", "Heure in 2", "Heure out 2", "Heure in 3", "Heure out 3", "Heure in 4", "Heure out 4", "Heure in 5", "Heure out 5", "Heure in 6", "Heure out 6", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Heure in 1", "Heure out 1" ) + DATEDIFF( 'mi', "Heure in 2", "Heure out 2" ) + DATEDIFF( 'mi', "Heure in 3", "Heure out 3" ) + DATEDIFF( 'mi', "Heure in 4", "Heure out 4" ) + DATEDIFF( 'mi', "Heure in 5", "Heure out 5" ) + DATEDIFF( 'mi', "Heure in 6", "Heure out 6" ) || ':00' AS "TIME" ), 'HH:MI' ) "Temps Total" FROM "Table1"
    voici ce que j'obtiens :
    Nom : requête1.png
Affichages : 444
Taille : 35,4 Ko
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #7
    Candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    zoom61
    C'était la case TOTAL qui ne contenait aucune information mais en effectuant das captures d'écran je viens de voir qu'elle contient un chiffre à présent. Mais ce chiffre n'est pas correct :o(
    Nom : Capture d’écran 2015-02-03 à 10.12.31.png
Affichages : 421
Taille : 80,0 KoNom : Capture d’écran 2015-02-03 à 10.13.47.png
Affichages : 405
Taille : 33,5 Ko

  8. #8
    Candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    jurassic pork
    Super, ton code fonctionne.
    Merci pour votre aide à tout les deux et bonne journée
    Seb

  9. #9
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 2 342
    Points : 5 915
    Points
    5 915
    Par défaut
    En fait 339 n'était pas faux car c'était la valeur en minutes. Il fallait seulement le formater en HH:MM.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #10
    Candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Jurassic pork, je me doutais bien que c'était en minute mais je me demandais comment le convertir en minute :p
    Je vais approfondir le SQL si tu as des liens pour des tuto n'hésite pas
    Bonne soirée et merci
    Seb

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

Discussions similaires

  1. Tri des données provenant d'une requête mysql
    Par scrappilly dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/09/2011, 16h19
  2. Modifier des enregistrements provenant d'une requête
    Par grinder59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/03/2009, 17h18
  3. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 17h29
  4. [Conception] inserer des valeurs provenant d'une liste multiple
    Par digger dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 24/11/2005, 18h35
  5. [CR] Additionner des heures
    Par sbis dans le forum Formules
    Réponses: 4
    Dernier message: 22/03/2004, 16h34

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