[Résolu]Décomposer un nombre décimal:

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

[Résolu]Décomposer un nombre décimal:

Message par Ribiere »

Bonsoir ,

Tous mes voeux pour l'année qui commence à tous et à chacun .

Dans une base j'ai besoin de saisir des temps de travail en heures et minutes . J'ai renoncé au champs "horaires" car suivant les versions de libre office j'ai cru comprendre que les additions de valeurs n'étaient pas toujours possible ( si j'ai bien compris certains fils ... ).

J'ai donc opté pour faire les saisies dans deux champs numériques séparés avec 0 décimale ( pour éviter les erreurs de saisie ).

Pour additionner ces temps de travail , j'ai multiplié le champs "heures" par 60 , additionné au champs "minutes" et j'obtiens une valeur = le nombre de minutes totales de travail .

Pour exprimer de nouveau le résultat de la totalisation de ces temps , en heures et minutes , je divise ce nombre de minutes par 60.0001 ( pour obtenir un chiffre avec deux décimales ) . La partie entière me semble égaler le nombre d'heures , la partie décimale x par 60/100 me donne le nombre de minutes ...
La précision n'est pas absolue , mais cela est suffisant pour moi .

Mon problème est dans la "séparation" de la partie entière et de la partie décimale ... je coince .... je n'arrive pas à mettre en oeuvre la fonction "FIX" ni dans une vue , ni dans une requête : soit je m'y prend mal , soit cela n'est pas possible soit ce n'est pas la bonne fonction ??

En PJ une base "exemple" merci à celui qui peut m'aider ( ou à ceux qui ont une autre idée pour régler mon problème ... ) D.R
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Ribiere le 26 janv. 2018 22:05, modifié 3 fois.
Libre office 6.2.8.2 sous windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Décomposer un nombre décimal:partie entière/partie decim

Message par jeanmimi »

Bonjour,
Une proposition à tester dans le fichier joint.
Dans ta Base, j'ai l'impression que la Vue V_reconstruire_des_heures_et_minutes donne un résultat inexact, puisque dépassant les 90 heures.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

Re: Décomposer un nombre décimal:partie entière/partie decim

Message par Ribiere »

Bonjour ,

Comme toujours ... c'est super .... c'est ça ...merci , une autre façon de voir le problème et la solution apparait ...
Lorsque j'étais petit ( il y a bien longtemps) on me disait qu'un problème bien posé était à moitié résolu .... inexact , totalement résolu , mais par vous ...

Merci , pour ce qui est des heures >90 , pas de problèmes , je ne cherche pas à faire apparaitre des jours ou plus , juste une somme du temps passé .

Merci encore , D.R
Libre office 6.2.8.2 sous windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Résolu]Décomposer un nombre décimal:

Message par Piaf »

Bonjour
A titre d'information et malgré le Résolu, HSQLDB dispose de la fonction MOD
MOD.png
Form.png
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

Re: [Résolu]Décomposer un nombre décimal:

Message par Ribiere »

Bonsoir



Merci pour ce complément d'infos .

Après essais ... ça marche aussi ....J'avais essayé la fonction MOD , ....mais j'avais mis un "/" et pas une virgule entre les deux arguments ....la tête , la tête ..

Merci à vous deux , D.R
Libre office 6.2.8.2 sous windows 10
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

Re: [Résolu]Décomposer un nombre décimal:

Message par Ribiere »

Bonsoir

Je ne sais pas si je peux re-poster un message sur ce sujet "clos" ....

En PJ la même base d'essai , mais avec un gros "Hic" pour les deux solutions proposées , suivant les valeurs des heures et minutes , les résultats sont faux : si il n'y a que 0 h et moins de 60 mn à additionner , la machine "arrondi" et le résultat se trouve majoré d'une heure ( bien pour des calculs de paye à partir de là pour le salalrié mais pas "top" tout de même ... ) je n'arrive pas à comprendre pourquoi : problème d'arrondi de la division par 60 ?

Merci de vos lumières , D.R
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 6.2.8.2 sous windows 10
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 3954
Inscription : 06 oct. 2008 08:03

Re: [Résolu]Décomposer un nombre décimal:

Message par Oukcha »

Bonjour,
Ribiere a écrit :Je ne sais pas si je peux re-poster un message sur ce sujet "clos" ....
Certes la dernière réponse à moins de 10 jours, la configuration reste la même, la question initiale est développée toujours pour le même sujet, mais pensez-vous que les volontaires qui animent bénévolement ce forum vont répondre sur un sujet marqué résolu ?
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: Décomposer un nombre décimal:

Message par Piaf »

Bonjour
A tester

Code : Tout sélectionner

SELECT CASEWHEN( SUM( ( "Heures" * 60 ) + "Minutes" ) >= 60, SUM( "Heures" ) + TRUNCATE( ROUNDMAGIC( SUM( "Minutes" ) ) / 60, 0 ), 0 ) AS "totH", MOD( SUM( "Minutes" ), 60 ) AS "totMn" FROM "T_heures"
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

Re: Décomposer un nombre décimal:

Message par Ribiere »

Bonsoir ,

Merci Piaf , de la réponse .
Plein de choses que je ne connais absolument pas ....
J'essaye dès demain et je poste une réponse après mes essais d'intégration dans la "vraie" base .

Merci encore , D.R
Libre office 6.2.8.2 sous windows 10
Ribiere
Membre hOOnoraire
Membre hOOnoraire
Messages : 107
Inscription : 20 août 2014 21:51

Re: Décomposer un nombre décimal:

Message par Ribiere »

Bonsoir ,

Voila , la requête est installée dans la bonne base et ...ça marche ...

Merci , je clos le fil , D.R
Libre office 6.2.8.2 sous windows 10