A voir également:
- Jours ouvrés entre 2 dates sous access
- Nombre de jours entre deux dates excel - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- 3 bip long 2 bip court hp - Forum BIOS
- Acer quick access - Forum Logiciels
2 réponses
Salut
Comme Access ne sait pas ce qu'est un jour ouvré, tu vas construire et alimenter une table "Calendrier" avec la date, un char qui contiendra 'O' sir le jour est férié et un libellé sur 30 char où tu pourras nommer le jour férié.
Ensuite, il ne te restera dans tes requêtes qu'à inclure la table calendrier dans ta jointure et poser une condition supplémentaire : ferie différent de 'O'
Comme Access ne sait pas ce qu'est un jour ouvré, tu vas construire et alimenter une table "Calendrier" avec la date, un char qui contiendra 'O' sir le jour est férié et un libellé sur 30 char où tu pourras nommer le jour férié.
Ensuite, il ne te restera dans tes requêtes qu'à inclure la table calendrier dans ta jointure et poser une condition supplémentaire : ferie différent de 'O'
Salut
la table que j'utilise et que je te conseillais est
Calendrier(
dat date,
ferie char(1),
description char(30)
)
où
dat est une colonne destinée à contenir la date (je sais pas quel type te conseiller, je connais pas Access)
ferie est une colonne de type caractère de longueur 1 et est destiné à recevoir 'O' si le jour est férié
description est une colonne de type caractère de longueur 30 max et est destiné à recevoir le nom de la fête
ensuite, tu charges ta table avec les valeurs appropriées, genre
Mettons que tu veuilles exclure les jours fériés:
select e.*
from enorme_table e, calendrier c
where ...
and c.dat between e.date_debut and e.date_fin
and c.ferie <> 'O'
tu peux retirer les dimanches s'ils t'embêtent. chez moi, j'ai plus vite fait comme ça que de rajouter un prédicat genre and fonction_conversion_date_en_chaine(dat, 'dddd') <> 'Sunday'
conseil#1: évite de tester ça avec ton énorme table, prends-en simplement un extrait
conseil#2: vérifie bien les inclusions, je ne sais jamais quels extrêmes sont inclus dan la plage du between
la table que j'utilise et que je te conseillais est
Calendrier(
dat date,
ferie char(1),
description char(30)
)
où
dat est une colonne destinée à contenir la date (je sais pas quel type te conseiller, je connais pas Access)
ferie est une colonne de type caractère de longueur 1 et est destiné à recevoir 'O' si le jour est férié
description est une colonne de type caractère de longueur 30 max et est destiné à recevoir le nom de la fête
ensuite, tu charges ta table avec les valeurs appropriées, genre
+----------+-------+--------------+ ! dat ! ferie ! description ! +----------+-------+--------------+ !01/01/2010! O ! Jour de l'an ! !02/01/2010! ! ! !03/01/2010! O ! dimanche ! !04/01/2010! ! ! !05/01/2010! ! ! !06/01/2010! ! ! !07/01/2010! ! ! !08/01/2010! ! ! !09/01/2010! ! ! !10/01/2010! O ! dimanche ! !11/01/2010! ! ! !12/01/2010! ! ! ! ... ! ! ! +----------+-------+--------------+et ensuite tu peux requêter.
Mettons que tu veuilles exclure les jours fériés:
select e.*
from enorme_table e, calendrier c
where ...
and c.dat between e.date_debut and e.date_fin
and c.ferie <> 'O'
tu peux retirer les dimanches s'ils t'embêtent. chez moi, j'ai plus vite fait comme ça que de rajouter un prédicat genre and fonction_conversion_date_en_chaine(dat, 'dddd') <> 'Sunday'
conseil#1: évite de tester ça avec ton énorme table, prends-en simplement un extrait
conseil#2: vérifie bien les inclusions, je ne sais jamais quels extrêmes sont inclus dan la plage du between
7 déc. 2009 à 15:24
Le problème c'est que je ne sais pas comment faire dans ma base.je t'explique mon cas
J'ai une énorme table avec différents champs que voici:
date_debut date_fin nom critère
04/04/2008 04/04/2008 patrick 1
08/04/2008 18/06/2008 Jean 0
j'ai des milliers de lignes comme cela.
Ce que je veus faire c'est déterminer le nombre de jours ouvrés entre les différentes dates ligne à ligne
J' ai pas compris quand tu parles de "char"
Merci
PS: je ne connais pas tres bien access