calcul dans une base avec date

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.
delhome
Fraîchement OOthentifié
Messages : 4
Inscription : 09 févr. 2007 10:49

calcul dans une base avec date

Message par delhome »

voila je voudrai faire un calcul relativement simple mais incluant un date et avoir un date en reponse

voila mes champs
"expe"=> date
"temp"=>numerique

et je veux faire

"expe"-(2-("temp"/30)) => date

comment faire

merci d avance
open office org 2.0.2
sous windows xp sp2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26193
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: calcul dans une base avec date

Message par Dude »

delhome a écrit :et je veux faire

"expe"-(2-("temp"/30)) => date
:shock: Si tu pouvais nous donner un exemple plus concret.

:?:
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17216
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Message par jeanmimi »

Bonjour,

Les calculs sur les dates peuvent se faire dans une requête.
Je ne sais pas si tu as fait une recherche sur le forum, mais il y a eu des exemples proposés.
Comme le suggère Dude, si tu veux bien mettre ta Base en ligne, çà permet de t'aider à trouver la meilleure formule avec ton exemple.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
delhome
Fraîchement OOthentifié
Messages : 4
Inscription : 09 févr. 2007 10:49

Message par delhome »

mis l exemple
comme demande
le principe est simple

je recois un dossier avec une date d expedition
je calcul le temps de montage
et je dois determiner avec 2 jours de securite a quelle date le dossier doit etre au montage apres usinage , le cablage et tubage

voila pourquoi j ai expe-(2-(temp/30))=date a la quelle cela dois etre au montage
exemple

le 09/02/07 dossier 070125 il y a 65 heure de montage et dois partir le 17/02/07

donc jai (17/02)(-2-(65/30))=13/02/07
le dossier devrai etre le 13/02/07 sur les poste de montage
open office org 2.0.2
sous windows xp sp2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26193
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

Et pourquoi divises-tu tes 65 heures par 30 ?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
delhome
Fraîchement OOthentifié
Messages : 4
Inscription : 09 févr. 2007 10:49

Message par delhome »

car c est le temp de travail d un groupe par jour
comme sa je sais pour un groupe le nombre de jour de montage
open office org 2.0.2
sous windows xp sp2
delhome
Fraîchement OOthentifié
Messages : 4
Inscription : 09 févr. 2007 10:49

Message par delhome »

plus de nouvelle
open office org 2.0.2
sous windows xp sp2
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Bonjour

Tu ne précises pas si ta base est au format OOo (hsqldb). Si c'est le cas, je ne pense pas que cela soit possible sans macro cf. la documentation http://hsqldb.org/web/hsqlDocsFrame.html.

DATEDIFF(string, datetime1, datetime2) te permet de calculer une différence entre deux dates mais je ne connais pas de fonction pour "repasser" ensuite au format date.

Si ta base "pointe" sur une source autre, cela dépend du "autre" en question. Par exemple avec Access tu peux utiliser DateAdd( 'D', - 2, `EXPE`)