begin process at 2012 05 26 11:52:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Divers

 > 

Calcul avec week end


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calcul avec week end

mardi 18 janvier 2011 à 14:58:32 | Calcul avec week end

Ghalor

Bonjour,

Je me permet de poster un message d'aide ici car je me retrouve face à un problème que je n'arrive pas à résoudre.

En effet, je suis confronté à une base de données où l'addition de trois champs doit donner le résultat d'une quatrième.

DateFabrication + DureeCtrl + DureeLiv = DateLivraison

Il s'agit en fait d'un simple calcul, mais le problème est que je dois ajouter deux jours par week end qui passe, l'entreprise étant fermée le samedi et le dimanche.

Pour faire plus simple :

DateFabrication + DureeCtrl + DureeLiv (+2 si un week-end) = DateLivraison

Mon problème se trouve donc dans l'ajout de ses 2 jours s'il se passe un week end pendant la date prévue puisque je ne sais pas comment faire. Je suis ouvert à toute suggestion, en espérant que vous aurez une solution à me proposer.

Cordialement,
Ghalor
mercredi 19 janvier 2011 à 03:12:35 | Re : Calcul avec week end

HFanny


Bonjour,

Sur Oracle, les fonctions "decode" et "to_char" te permettraient de faire quelque chose comme cela :

Code sql :
SELECT 
DateFabrication +
  DECODE (
    TO_CHAR(
      DateFabrication + 
      DureeCtrl + 
      DureeLiv, 'D'
    ),
    1, 2,
    7, 2,
    0
  )
FROM ...


Note : j'ai assumé que DateFabrication est une date SQL, et que DureeCtrl et DureeLiv sont tous deux des entiers.

Détails de la requête SQL.
Code sql :
DateFabrication + DureeCtrl + DureeLiv

Retourne la date de fabrication + durée de contrôle et de livraison. (Date notée X pour la suite)

Code sql :
TO_CHAR(X, 'D')

La fonction TO_CHAR prenant en paramètre la date obtenue ci-dessus et 'D' (pour Day) va retourner le jour de la semaine correspondant à cette date (Jour noté Y pour la suite).
Le jour de la semaine commence à 1 qui représente Dimanche, ce qui veut dire que les jours de weekend sont 1 et 7.

Code sql :
  DECODE (
    Y,
    1, 2,
    7, 2,
    0
  )

DECODE fonctionne comme un IF/THEN/ELSE :
* le premier paramètre est l'expression que l'on cherche à comparer
* le deuxième paramètre est la valeur comparée à l'expression
* le troisième paramètre est la valeur de retour si l'expression correspond à la valeur précedente
* (deuxième et troisième paramètres peuvent se répéter au besoin)
* la dernière valeur est optionnelle, c'est la valeur retournée par défaut si aucune valeur n'a correspondu à l'expression évaluée.

Ici decode prend Y, le jour de la semaine, et le compare avec 1 ou 7, pour lesquels on retourne 2, et sinon retourne 0. (Notons ce résultat Z pour la suite)

Code sql :
SELECT 
DateFabrication + Z
FROM ...

0 ou 2 peut enfin être ajouté à DateFabrication.


Ca devrait couvrir ton besoin si je l'ai bien compris :)

Fanny

PS : Il y a peut être un moyen plus facile d'y arriver, mais c'est ce qui m'est passé par la tête.
mercredi 19 janvier 2011 à 09:48:49 | Re : Calcul avec week end

Ghalor

Si j'ai bien compris ton code, tu compares le jours de X avec 1 et 7. J'aurai en fait besoin de comparer chaque jour entre la DateFabrication et X.
Après sous Access, je pense juste avoir à faire la même chose avec un switch.


Cette discussion est classée dans : problème, end, calcul, week, datefabrication


Répondre à ce message

Sujets en rapport avec ce message

Encore un problème de dates avec MySQL [ par ImmortalPC ] Salut, je deviens fou avec mon calendrier J' ai une date de commencement et une date de fin respectivement : date_start et date_end Leur type : datet Encore les dates avec MySQL [ par ImmortalPC ] Salut,J'aimera séléctionner tout ce qui as entre le 2006-4-10 et le 2006-4-17Dans ma table SQL j' ai une date de commencement et une date de fin (d' u Championnat [ par elpens ] Bonjour,Je voudrais effectuer une base de donnée pour une équipe, et je vous demande de l'aide pour la conception.Je pensais créer une table Saison(id Petit problème sur une requête depuis VB6 vers SQL EXPRESS [ par drakkard ] Bonjour Bonjour,je ne suis pas sur d'être au bon endroit pour cette question...voici mon PB, sur mon serveur SQL EXPRESS lorsque que je demande :SELEC problème concaténation [ par chamallow ] Bonjour,J'ai un petit problème avec une concaténation. C'est tout bête mais bon.SELECT CAST("1/1/" + CAST(annee AS CHAR(4)) AS DATETIME)from maTableSq problème avec une requete oracle [ par jackrichard ] Bonjour a tous Voilà j'ai un problème avec Oraclej'essaie de voire la structure de la table avecdesc nom_tablemais je me suis problème requete avec IN [ par ahcorad ] Bonsoir, voila mon problème : je voudrais avoir la liste des stages (n°, nom et intitule) en supprimant les doublons ! stage(#numstage, nomstage, inti Problème Sql extraction [ par marlone41 ] Bonjour ,J'ai besoin d'extraire des informations d'une base sql , c'est a dire que j'utilise la commande BCP ,par contre l'extraction se passe bien pa Problème de function [ par elpens ] Bonjour,J'ai un petit soucis avec une fonction qui devrait retourner un tableau :Create FUNCTION ...RETURNS Table AS ......return (SELECT [Order], Com Problème d'Alias dans un programme en C++ sous Builder avec base de donnée Access [ par kj_83 ] Bonjour ,Je réalise un programme de gestion de stock avec lecture et écriture dans une base de donnée Access.Pour pouvoir accéder à cette base plus fa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales