Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nombre d'heure entre deux dates sur un mois donné

9 réponses
Avatar
MAYEKEUL
bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous int=E9resse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donn=E9
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxi=E8me probleme se pose =E0 moi
car j'aimerais qu'il me renvoie le r=E9sultat pour chaque mois et non
pas sous forme d'un tableau crois=E9
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier

9 réponses

Avatar
ze Titi
Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24
AS [Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier


--
Voilou !
Bon code
Cordialement,

Ze Titi

Avatar
ze Titi
Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi


Avatar
MAYEKEUL
Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ord re
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi




Avatar
ze Titi
Bonjour MAYEKEUL

Effectivement, ça complique les choses...
Mais dans ce cas, il me manque une info (ou alors j'ai encore mal
compris, ce qui n'est pas impossible...)
Dans cette table Master_data, à part les 2 champs date_start et
date_end, il y a quoi d'autre ? Ton nombre d'heures total est stocké
comment ?


Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi




Avatar
ze Titi
Bonjour MAYEKEUL

Oublie, j'ai dit une conceté...
La requête que j'ai donné dans le post précédent était viable, il
suffit juste de diviser par le nombre de mois, soit :

SELECT Month(Date_start) AS
Mois,DateDiff("d",date_end,date_start)*24/datediff("m",date_end,date_start)
AS [Nombre heures] FROM Master_Date

Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi




Avatar
MAYEKEUL
Alors,
je réponds au deux

non, je n'ai que ces deux seules dates dans ma table, rien d'autre
concernat le temps

quand à la deuxième requete envoyée le résultat n'est pas très
probant non plus !
car elle me renvoie juste une moyenne des heures suivant le nombre de
mois ( euh je crois car j'aarive aps à determiner d'ou elle me sort le
résultat!) (je deviens fou! lol )

:((

je pense en fait passer par une table intermediaire contenant juste un
timestamp par heure
mais bon cette solution ne me plais pas trop car trop figée dans le
temps ou si le besoin de savoir le nombre de minute se ferait sentir
par exemple!




Bonjour MAYEKEUL

Oublie, j'ai dit une conceté...
La requête que j'ai donné dans le post précédent était viable, il
suffit juste de diviser par le nombre de mois, soit :

SELECT Month(Date_start) AS
Mois,DateDiff("d",date_end,date_start)*24/datediff("m",date_end,date_star t)
AS [Nombre heures] FROM Master_Date

Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par o rdre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avo ns
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mo is
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi






Avatar
ze Titi
Bonjour MAYEKEUL

j'accumule les idioties...
En fait, je ne tiens pas compte (dans ma deuxième requête) du nombre de
jours dans le mois... Je renvoie donc effectivement le nombre moyen
d'heures dans un mois sur la période date_start->date_end...
Je dois repartir d'une feuille blanche...

Alors,
je réponds au deux

non, je n'ai que ces deux seules dates dans ma table, rien d'autre
concernat le temps

quand à la deuxième requete envoyée le résultat n'est pas très
probant non plus !
car elle me renvoie juste une moyenne des heures suivant le nombre de
mois ( euh je crois car j'aarive aps à determiner d'ou elle me sort le
résultat!) (je deviens fou! lol )

:((

je pense en fait passer par une table intermediaire contenant juste un
timestamp par heure
mais bon cette solution ne me plais pas trop car trop figée dans le
temps ou si le besoin de savoir le nombre de minute se ferait sentir
par exemple!




Bonjour MAYEKEUL

Oublie, j'ai dit une conceté...
La requête que j'ai donné dans le post précédent était viable, il
suffit juste de diviser par le nombre de mois, soit :

SELECT Month(Date_start) AS
Mois,DateDiff("d",date_end,date_start)*24/datediff("m",date_end,date_start)
AS [Nombre heures] FROM Master_Date

Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi






Avatar
ze Titi
Bonjour MAYEKEUL

La formule suivante te renvoit le nombre de jours pour le mois d'une
date donnée (UneDate):

Day(DateSerial(Year(UneDate), Month(UneDate) + 1, 0))

Pour connaître le nombre d'heures correspondant au mois, tu multiplies
ce résultat par 24.

Je te laisse écrire ce qu'il faut derrière parce que si c'est moi qui
l'écrit, je risque encore d'écrire une ânerie...


Alors,
je réponds au deux

non, je n'ai que ces deux seules dates dans ma table, rien d'autre
concernat le temps

quand à la deuxième requete envoyée le résultat n'est pas très
probant non plus !
car elle me renvoie juste une moyenne des heures suivant le nombre de
mois ( euh je crois car j'aarive aps à determiner d'ou elle me sort le
résultat!) (je deviens fou! lol )

:((

je pense en fait passer par une table intermediaire contenant juste un
timestamp par heure
mais bon cette solution ne me plais pas trop car trop figée dans le
temps ou si le besoin de savoir le nombre de minute se ferait sentir
par exemple!




Bonjour MAYEKEUL

Oublie, j'ai dit une conceté...
La requête que j'ai donné dans le post précédent était viable, il
suffit juste de diviser par le nombre de mois, soit :

SELECT Month(Date_start) AS
Mois,DateDiff("d",date_end,date_start)*24/datediff("m",date_end,date_start)
AS [Nombre heures] FROM Master_Date

Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un meme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un mois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)*24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous avons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entre ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi






Avatar
MAYEKEUL
Lol

mais non t'inquietes!

Sorry d'avoir tarder à répondre mais bon j'ai été soumis à
d'important impératif de maladie

:o)


ceci dis, entre temps,j'ai trouvé la solution en créant une table
intermédiaire contenant des données calendrier.
du style

TimeStamp ; Année ; Mois ; Jour ; heure

et ce jusque 2010 ( par exemple )

en l'incorporant dans ma requet et cela sans jointure aucune, elle me
permet donc de lister le nombre d'interval choisi dans ma première
table!

En tout les cas, merci de ton aide


Olivier

Bonjour MAYEKEUL

La formule suivante te renvoit le nombre de jours pour le mois d'une
date donnée (UneDate):

Day(DateSerial(Year(UneDate), Month(UneDate) + 1, 0))

Pour connaître le nombre d'heures correspondant au mois, tu multiplies
ce résultat par 24.

Je te laisse écrire ce qu'il faut derrière parce que si c'est moi qui
l'écrit, je risque encore d'écrire une ânerie...


Alors,
je réponds au deux

non, je n'ai que ces deux seules dates dans ma table, rien d'autre
concernat le temps

quand à la deuxième requete envoyée le résultat n'est pas très
probant non plus !
car elle me renvoie juste une moyenne des heures suivant le nombre de
mois ( euh je crois car j'aarive aps à determiner d'ou elle me sort le
résultat!) (je deviens fou! lol )

:((

je pense en fait passer par une table intermediaire contenant juste un
timestamp par heure
mais bon cette solution ne me plais pas trop car trop figée dans le
temps ou si le besoin de savoir le nombre de minute se ferait sentir
par exemple!




Bonjour MAYEKEUL

Oublie, j'ai dit une conceté...
La requête que j'ai donné dans le post précédent était viabl e, il
suffit juste de diviser par le nombre de mois, soit :

SELECT Month(Date_start) AS
Mois,DateDiff("d",date_end,date_start)*24/datediff("m",date_end,date_s tart)
AS [Nombre heures] FROM Master_Date

Merci ze Titi,
simplement, je crains d'avoir été mal compris!

les deux dates renseignée Date_Start et Date_End Font partie d'un m eme
record
et je souhaite avoir par mois la somme des heures

donc si je n'ai qu'un seul record avec l'exemple précité
il dois me retourner quelque choses comme 720 heures

ma table Master_Data
Date_Start Date_End
01/01/2006 01/01/2007

resultat final de ma requete
Month Nb_Heures
9 720

Euh je sais pas si c'est plus clair!
:o)

en tout les cas merci ze Titi


Par ailleurs, tu peux ajouter une clause WHERE pour filtrer sur un m ois
donné...

Bonjour MAYEKEUL

D'après moi, la création d'une seule requête devrait suffir.
SELECT Month(Date_start) AS Mois,DateDiff("d",date_end,date_start)* 24 AS
[Nombre heures] FROM Master_Date GROUP BY date_start,date_end
ORDER BY date_start

Cette requête te renvoit le nombre d'heures par mois classé par ordre
chronologique.

bonjour,

alors, je vous explique mon probleme

j'ai une table que nous nommerons Master_Data dans laquelle nous a vons
parmi ses champs, deux qui nous intéresse que nous nommerons
Date_Start et Date_End.

Ce que je voudrais, c'est connaitre le nombre d'heures inclue entr e ces
deux dates mais uniquement pour un mois donné
un piti exemple
Date_Start : 01/01/2006
Date_End : 01/01/2007
et je voudrais qu'il me donne le nombre d'heures contenue dans le mois
de septembre 2006

mais ce n'est pas tout
un deuxième probleme se pose à moi
car j'aimerais qu'il me renvoie le résultat pour chaque mois et non
pas sous forme d'un tableau croisé
mais bel et bien un record pour chaque mois
Alors est-ce possible?

et si oui en quelle proportion?

d'avance, merci a tous

Olivier



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi