jours ouvrés + calculs logique

Discussions sur le module de base de données de StarOffice NeoOffice ou OpenOffice.org 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 modOOos

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.

jours ouvrés + calculs logique

Messagepar pontech » 30 Oct 2009 17:58

Bonjour,

Avec access on peut faire des requêtes qui incluent des champs calculés sans connaître de language de programmation.
Avec Openoffice, cela semble difficile sauf si l'on connait SQL, pensez-vous qu'à termes les développeurs pourront inclure ces fonctionnalités pour les utilisateurs de base ?

Je souhaite en fait obtenir le nombre de jours ouvrés qui s'est écoulé entre la date d'envoi d'un matériel et le jour de réception par le client. champ z = champ t - champ o ( mais le tout en jours ouvrés)

Par ailleurs, quelle est la formule entre le prix d'achat du matériel et le vente de celui-ci ( champ c= champ a- champ b)

Merci./.
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar jeanmimi » 30 Oct 2009 19:11

Bonjour et bienvenue dans notre forum,
Pour la différence entre prix d'achat et de vente, c'est bien comme tu l'indiques : tu fais la différence dans une troisième colonne de la requête.
Pour la différence de jours ouvrés, jours moins les jours non ouvrés, c'est vrai qu'il faut sans doute construire une requête un peu complexe, mais pas impossible, car les commandes SQL existent pour calculer les samedis et les dimanches, par exemple :
Code: Tout sélectionner   AgrandirRéduire
DAYOFWEEK(date)    retourne le jour de la semaine (1 signifie Dimanche)

Çà va se compliquer avec les jours fériés qui émaillent notre calendrier.
Tout sur les séquences SQL pour les dates dans cette page :
http://wiki.services.openoffice.org/wik ... h09#SELECT
Dernière édition par jeanmimi le 30 Oct 2009 19:51, édité 1 fois au total.
OOo 3.1.1 (version téléchargée depuis http://fr.openoffice.org/about-downloads.html)
SRB téléchargeable ici http://extensions.services.openoffice.o ... portdesign
Windows XP SP 3, Thunderbird, Firefox 3 , Java Runtime Environnement
Avatar de l’utilisateur
jeanmimi
GourOOou
GourOOou
 
Messages: 5751
Inscrit le: 03 Mar 2006 18:02
Localisation: Niort et sa Venise verte

Re: jours ouvrés + calculs logique

Messagepar Dude » 30 Oct 2009 19:35

Bienvenue ici,

pontech a écrit:pensez-vous qu'à termes les développeurs pourront inclure ces fonctionnalités pour les utilisateurs de base ?

Il n'y a pas de développeurs ici. Ce n'est qu'un forum de bénévoles qui répondent. Si tu souhaites améliorer OOo, tu peux faire une proposition sur IT (cf. ma signature).

pontech a écrit:Je souhaite en fait obtenir le nombre de jours ouvrés qui s'est écoulé

Comme sous MS-Access, il te faudra passer par un assemblage de fonctions utilisant DATEDIFF. Fais une recherche sur ce forum sur ce terme pour trouver des exemples.

8)
OOo 3.2DEV EN sous Windows XP SP3

Pratique, utilisez le service CiJoint pour joindre un exemple et illustrer votre propos.

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.

Améliorer OOo en votant les issues
Avatar de l’utilisateur
Dude
GourOOou
GourOOou
 
Messages: 7936
Inscrit le: 03 Mar 2006 09:45
Localisation: Lyon, France

Re: jours ouvrés + calculs logique

Messagepar pontech » 31 Oct 2009 03:40

Merci à vous pour votre accueil.

Sous access pour créé un champs calculé je déclare que [la marge]= [prix de vente] -[prix d'achat]et c'est pas si compliqué.

Sous Open Office, cela se complique quand pour une opération aussi simple on ne maitrise pas SQL.

Je suis vraiment pas pas pour le monopole de microsoft, mais reconnaissons que Base pêche en simplicité: l'utilisateur lambda ne peut pas créé de champs calculé sans s'arracher les cheveux. Comment veut-on concurrencer les produits de Bill gates s'il faut se lancer dans du SQL pour un simple opération de soustraction...

Autant, j'apprécie ce que fait la communauté linux :bravo: :bravo: autant je suis déçu par base qui n'a été conçu que pour les utilisateurs avertis. :marto: :marto:
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar jeanmimi » 31 Oct 2009 10:43

Sous Open Office, cela se complique quand pour une opération aussi simple on ne maitrise pas SQL
Il me semble que ça reste aussi simple aussi avec OOo Base, comme dans l'exemple joint.
Pièces jointes
Base avec calcul dans requête.odb
(13.13 Kio) Téléchargé 15 fois
OOo 3.1.1 (version téléchargée depuis http://fr.openoffice.org/about-downloads.html)
SRB téléchargeable ici http://extensions.services.openoffice.o ... portdesign
Windows XP SP 3, Thunderbird, Firefox 3 , Java Runtime Environnement
Avatar de l’utilisateur
jeanmimi
GourOOou
GourOOou
 
Messages: 5751
Inscrit le: 03 Mar 2006 18:02
Localisation: Niort et sa Venise verte

Re: jours ouvrés + calculs logique

Messagepar pontech » 31 Oct 2009 23:36

Merci Jeanmimi,

Je me suis donc royalement trompé sur Base qui, nul doute, me réservera des surprises, au fil de mes écueils. :tesfou:
Je vais me lancer sur la requête des jours ouvrés, et si je n'y parviens pas, je reviendrai vers vous. :fou:

Bonne soirée./.
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar pontech » 06 Nov 2009 06:44

Bonsoir,

La logique voudrait que j 'attribue le format date à un champ date (LAPALISSE n'est pas très loin...)
Le soucis est que lorsque je lance une requête qui m'établie la différence entre date 1 et date 2, openoffice me renvoie le message suivant:
"Wrong data type:java.lang.NumberFormatException". J'ai bien vérifié le format des champs 1 et 2 est bien en date.
Pourrait-on utiliser dans base la fonction de calc jours() pour calculer le nombre de jours entre deux date ? si oui comment l'intégrer dans une requête ?
Merci.

Le modérateur a écrit: :alerte: Merci de ne pas poster plusieurs messages à la suite !
Si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.

En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar Pierre-Yves Samyn » 06 Nov 2009 12:26

Bonjour

La réponse t'a déjà été donnée : il faut utiliser la fonction DATEDIFF

Capture-1.png
Capture-1.png (9.74 Kio) Consulté 110 fois


Comme déjà indiqué le forum comprend plusieurs exemples, du plus simple au plus complexe. Entre autres :
viewtopic.php?f=9&t=6244&hilit=calcul+entre+dates
Et pour des calculs plus complexes :
viewtopic.php?p=81847#p81847

Un lien vers la documentation http://wiki.services.openoffice.org/wik ... ck.C3.A9es
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: jours ouvrés + calculs logique

Messagepar pontech » 08 Nov 2009 03:46

pontech a écrit:Bonsoir,

La logique voudrait que j 'attribue le format date à un champ date (LAPALISSE n'est pas très loin...)
Le soucis est que lorsque je lance une requête qui m'établie la différence entre date 1 et date 2, openoffice me renvoie le message suivant:
"Wrong data type:java.lang.NumberFormatException". J'ai bien vérifié le format des champs 1 et 2 est bien en date.
Pourrait-on utiliser dans base la fonction de calc jours() pour calculer le nombre de jours entre deux date ? si oui comment l'intégrer dans une requête ?
Merci.

Le modérateur a écrit: :alerte: Merci de ne pas poster plusieurs messages à la suite !
Si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.

En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.


Désolé, je veillerai à l'avenir à ne pas encombrer le forum avec des questions redondantes. Amities...
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar pontech » 08 Nov 2009 08:44

jeanmimi a écrit:Bonjour et bienvenue dans notre forum,
Pour la différence entre prix d'achat et de vente, c'est bien comme tu l'indiques : tu fais la différence dans une troisième colonne de la requête.
Pour la différence de jours ouvrés, jours moins les jours non ouvrés, c'est vrai qu'il faut sans doute construire une requête un peu complexe, mais pas impossible, car les commandes SQL existent pour calculer les samedis et les dimanches, par exemple :
Code: Tout sélectionner   AgrandirRéduire
DAYOFWEEK(date)    retourne le jour de la semaine (1 signifie Dimanche)

Çà va se compliquer avec les jours fériés qui émaillent notre calendrier.
Tout sur les séquences SQL pour les dates dans cette page :
http://wiki.services.openoffice.org/wik ... h09#SELECT



Jeanmimi,

Comme tu le sais aussi bien que moi la fonction DATEDIFF ne donne que le nombre de jours qui se sont écoulés entre deux dates. Or, ce que je recherche c'est le nombre de jours ouvrés entre deux dates, ce qui n'est pas pareil. Alors bien sûr nous avons la fonction NB.JOURS.OUVRES que l'on trouve dans CALC mais le problème est que l'on est dans BASE :lol: :lol: :fou: :fou: :fou: .
Si d'aventure quelqu'un connaîtrais "la formule imbriquée" qui me renvoie le nombre de jours ouvres entre deux dates, je suis preneur. Merci.
Open office 3.1.1
linux Fedora 11
pontech
Fraîchement OOothentifié
 
Messages: 9
Inscrit le: 30 Oct 2009 00:03

Re: jours ouvrés + calculs logique

Messagepar Dude » 09 Nov 2009 10:57

Salut,

pontech a écrit:Alors bien sûr nous avons la fonction NB.JOURS.OUVRES que l'on trouve dans CALC mais le problème est que l'on est dans BASE

Tu auras le même problème sous MS-Access, il est plus simple d'utiliser une macro pour faire ce calcul.

Tu pourras alors utiliser les fonctions de Calc avec NB.JOURS.OUVRES (formulalocal) ou GETNETWORKDAYS (formula).

Si tu as des difficultés, ouvre un nouveau sujet dans la section Macro.

8)
OOo 3.2DEV EN sous Windows XP SP3

Pratique, utilisez le service CiJoint pour joindre un exemple et illustrer votre propos.

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.

Améliorer OOo en votant les issues
Avatar de l’utilisateur
Dude
GourOOou
GourOOou
 
Messages: 7936
Inscrit le: 03 Mar 2006 09:45
Localisation: Lyon, France


Retour vers Base de données

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : rol1 et 1 invité