Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 22h07   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42

Informations forums :
Inscription : janvier 2010
Messages : 88
Points : 12
Points : 12
Par défaut Compter le nombre de criteres suivant liste de jours

Bonsoir,
Sous access j'ai deux tables
une table calendrier avec une colonne date et une colonne statut
pour chaque date de l'année j'ai soit le statut "T" pour travaillé soit le statut "PT" pour pas travaillé

dans une seconde table j'ai deux colonnes : date début et date fin
j'ai fait une requête avec comme résultat la différence entre date début et date fin.
Ce que je voudrais obtenir dans cette même requête c'est
Date début | Date fin | différence | somme du nombre de PT
Autrement dit pour chaque ligne de la seconde table faire la somme sur la période comprise entre date début et date fin, du nombre de jour "pas travaillé"
C'est possible ?
totor92290 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 15h59   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 268
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 268
Points : 1 891
Points : 1 891
Bonjour

A priori ça doit ressembler à ça :
Code :
1
2
3
Dcount("*","calendrier","jour>=" & date_deb & " and jour<=" & date_fin)
ou c'est plus lisible comme ça :
select count(*) from calendrier where jour>=date_deb and jour<=date_fin
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 16h30   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42

Informations forums :
Inscription : janvier 2010
Messages : 88
Points : 12
Points : 12
Merci Nico84,
En fait le résultat est unique dans ta proposition.
Ce qu'il faudrait (si cela est possible) c'est un résultat dans ce genre là :
Donc mes deux tables :
1ère table : Calendrier
2 champs : Date et statut
Date : Toutes les dates du 01/01/2010 au 31/12/2015
Statut : soit T pour jour travaillé ou PT pour jour non travaillé

2ème table : Data
2 champs : date_début et date_fin
Date début : date de confirmation de l'OT (ordre de transfert)
Date_fin : date de l'extraction

Résultat dans une requête :
Compter la différence en nombre de jour (ça c'est facile date_fin - date_début) et compter pour chaque ligne de la table Data le nombre de jour non travaillé

Exemple :
table Calendrier :
Date | Statut
01/01/2010 | PT
02/01/2010 | T
03/01/2010 | T
04/01/2010 | PT
05/01/2010 | PT
06/01/2010 | T

table DATA :
Date_début | Date_fin
01/01/2010 | 03/01/2010
01/01/2010 | 04/01/2010
02/01/2010 | 04/01/2010
03/01/2010 | 06/01/2010

Résultat dans la requête :
Date_début | Date_fin | Différence | Nombre de jour PT
01/01/2010 | 03/01/2010 | 2 | 1
01/01/2010 | 04/01/2010 | 3 | 2
02/01/2010 | 04/01/2010 | 2 | 1
03/01/2010 | 06/01/2010 | 3 | 2
totor92290 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 17h31   #4
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 268
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 268
Points : 1 891
Points : 1 891
c'est bien ce que j'avais compris mais il est possible de mettre "mon" select dans un autre
Code :
select data.*, (select count(*) from calendrier where satut='PT' and jour>=data.date_deb and jour<=data.date_fin) as nb_pt from data
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 18h11   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42

Informations forums :
Inscription : janvier 2010
Messages : 88
Points : 12
Points : 12
Un grand grand grand merci.... !!!!

cela fait plus de trois jours que je suis dessus !!!!!

Bonne journée.
totor92290 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h04.


 
 
 
 
Partenaires

Hébergement Web