Je suis entrain de reprendre une base de donn=E9e Access de=20
pointage des heures de main d’œuvre. Mais ma table de=20
pointage est structur=E9e de la fa=E7on suivant (les champs) :
N=B0PERSONNEL
N=B0AFFAIRE
ANNEE
SEMAINE
LUNDI (dans ce champ appara=EEt les heures travaill=E9es)
MARDI (dans ce champ appara=EEt les heures travaill=E9es)
MERCREDI (dans ce champ appara=EEt les heures travaill=E9es)
JEUDI (dans ce champ appara=EEt les heures travaill=E9es)
VENDREDI (dans ce champ appara=EEt les heures travaill=E9es)
SAMEDI (dans ce champ appara=EEt les heures travaill=E9es)
DIMANCHE (dans ce champ appara=EEt les heures travaill=E9es)
Mon probl=E8me est donc ceci : Comment puis-je faire dans=20
une requ=EAte pour filtrer mes donn=E9es sur un MOIS ?=20
L’id=E9al pour moi serais de re-transformer ces donn=E9es dans=20
une tables structur=E9 de la fa=E7on suivant :
N=B0PERSONNEL
N=B0AFFAIRE
DATE (jj/mm/aaaa)
ANNEE
SEMAINE
HEURE=20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
ce n'est pas forcément une mauvaise idée si les calculs sont faits à la semaine et ensuite imputés sur le mois où apparaît la fin de semaine. la date de fin de semaine recalculée avec le n° de semaine peut donner le mois d'imputation. Si les calculs sont faits au mois civil, il est préférable d'avoir la date directement dans l'enregistrement. pour calculer la date exacte du premier jour de la semaine tu as une fonction qui est sur la page : http://mypage.bluewin.ch/w.stucki/CalculsDates.htm#LundiSem que tu peux utilsier dans une requête.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" a écrit dans le message de news: 128c01c4b5d9$4dec02a0$ Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
Bonjour.
ce n'est pas forcément une mauvaise idée si les calculs sont faits à la
semaine et ensuite imputés sur le mois où apparaît la fin de semaine. la
date de fin de semaine recalculée avec le n° de semaine peut donner le mois
d'imputation. Si les calculs sont faits au mois civil, il est préférable
d'avoir la date directement dans l'enregistrement. pour calculer la date
exacte du premier jour de la semaine tu as une fonction qui est sur la page
: http://mypage.bluewin.ch/w.stucki/CalculsDates.htm#LundiSem que tu peux
utilsier dans une requête.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 128c01c4b5d9$4dec02a0$a501280a@phx.gbl...
Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de
pointage des heures de main d’œuvre. Mais ma table de
pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL
N°AFFAIRE
ANNEE
SEMAINE
LUNDI (dans ce champ apparaît les heures travaillées)
MARDI (dans ce champ apparaît les heures travaillées)
MERCREDI (dans ce champ apparaît les heures travaillées)
JEUDI (dans ce champ apparaît les heures travaillées)
VENDREDI (dans ce champ apparaît les heures travaillées)
SAMEDI (dans ce champ apparaît les heures travaillées)
DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans
une requête pour filtrer mes données sur un MOIS ?
L’idéal pour moi serais de re-transformer ces données dans
une tables structuré de la façon suivant :
N°PERSONNEL
N°AFFAIRE
DATE (jj/mm/aaaa)
ANNEE
SEMAINE
HEURE
ce n'est pas forcément une mauvaise idée si les calculs sont faits à la semaine et ensuite imputés sur le mois où apparaît la fin de semaine. la date de fin de semaine recalculée avec le n° de semaine peut donner le mois d'imputation. Si les calculs sont faits au mois civil, il est préférable d'avoir la date directement dans l'enregistrement. pour calculer la date exacte du premier jour de la semaine tu as une fonction qui est sur la page : http://mypage.bluewin.ch/w.stucki/CalculsDates.htm#LundiSem que tu peux utilsier dans une requête.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" a écrit dans le message de news: 128c01c4b5d9$4dec02a0$ Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
Ilan
Bonjour, effectivement il faudrait un champ mois. Une semaine pouvant etre a cheval sur deux mois. Il te faudrait peut-etre separer le tout en deux tables
2) PointageMensuel - PointageQuotidien - SEMAINE - JOUR - HEURES
Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
Bonjour,
effectivement il faudrait un champ mois. Une semaine pouvant etre a cheval
sur deux mois.
Il te faudrait peut-etre separer le tout en deux tables
2) PointageMensuel - PointageQuotidien - SEMAINE - JOUR - HEURES
Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de
pointage des heures de main d’œuvre. Mais ma table de
pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL
N°AFFAIRE
ANNEE
SEMAINE
LUNDI (dans ce champ apparaît les heures travaillées)
MARDI (dans ce champ apparaît les heures travaillées)
MERCREDI (dans ce champ apparaît les heures travaillées)
JEUDI (dans ce champ apparaît les heures travaillées)
VENDREDI (dans ce champ apparaît les heures travaillées)
SAMEDI (dans ce champ apparaît les heures travaillées)
DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans
une requête pour filtrer mes données sur un MOIS ?
L’idéal pour moi serais de re-transformer ces données dans
une tables structuré de la façon suivant :
N°PERSONNEL
N°AFFAIRE
DATE (jj/mm/aaaa)
ANNEE
SEMAINE
HEURE
Bonjour, effectivement il faudrait un champ mois. Une semaine pouvant etre a cheval sur deux mois. Il te faudrait peut-etre separer le tout en deux tables
2) PointageMensuel - PointageQuotidien - SEMAINE - JOUR - HEURES
Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
kiwix
Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer, Optional An As Integer = 0) As Date ' Objectif: Convertir un no de semaine en une date correspondant au lundi de cette semaine ' *********************************************************** **************************************************** On Error GoTo TraitementErreur 'Teste si le numéro de semaine est correct et si l'année est spécifiée. If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then MsgBox "Le numéro de semaine est incorrect, veuillez corriger", vbCritical, "Erreur de saisie" Exit Function ElseIf An = 0 Then An = Year(Date) End If Dim Datetemp As Date ' On calcule à partir du 1er janvier de l'année spécifiée Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7 LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay (Datetemp) - vbMonday) Exit Function TraitementErreur: MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) & Err.Description End Function
-----Message d'origine----- Bonjour.
ce n'est pas forcément une mauvaise idée si les calculs sont faits à la
semaine et ensuite imputés sur le mois où apparaît la fin de semaine. la
date de fin de semaine recalculée avec le n° de semaine peut donner le mois
d'imputation. Si les calculs sont faits au mois civil, il est préférable
d'avoir la date directement dans l'enregistrement. pour calculer la date
exacte du premier jour de la semaine tu as une fonction qui est sur la page
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" a écrit dans le message de
news: 128c01c4b5d9$4dec02a0$ Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
.
Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer,
Optional An As Integer = 0) As Date
' Objectif: Convertir un no de semaine en une date
correspondant au lundi de cette semaine
'
***********************************************************
****************************************************
On Error GoTo TraitementErreur
'Teste si le numéro de semaine est correct et si l'année
est spécifiée.
If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then
MsgBox "Le numéro de semaine est incorrect, veuillez
corriger", vbCritical, "Erreur de saisie"
Exit Function
ElseIf An = 0 Then
An = Year(Date)
End If
Dim Datetemp As Date
' On calcule à partir du 1er janvier de l'année spécifiée
Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7
LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay
(Datetemp) - vbMonday)
Exit Function
TraitementErreur:
MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) &
Err.Description
End Function
-----Message d'origine-----
Bonjour.
ce n'est pas forcément une mauvaise idée si les calculs
sont faits à la
semaine et ensuite imputés sur le mois où apparaît la fin
de semaine. la
date de fin de semaine recalculée avec le n° de semaine
peut donner le mois
d'imputation. Si les calculs sont faits au mois civil, il
est préférable
d'avoir la date directement dans l'enregistrement. pour
calculer la date
exacte du premier jour de la semaine tu as une fonction
qui est sur la page
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 128c01c4b5d9$4dec02a0$a501280a@phx.gbl...
Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de
pointage des heures de main d’œuvre. Mais ma table de
pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL
N°AFFAIRE
ANNEE
SEMAINE
LUNDI (dans ce champ apparaît les heures travaillées)
MARDI (dans ce champ apparaît les heures travaillées)
MERCREDI (dans ce champ apparaît les heures travaillées)
JEUDI (dans ce champ apparaît les heures travaillées)
VENDREDI (dans ce champ apparaît les heures travaillées)
SAMEDI (dans ce champ apparaît les heures travaillées)
DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans
une requête pour filtrer mes données sur un MOIS ?
L’idéal pour moi serais de re-transformer ces données dans
une tables structuré de la façon suivant :
N°PERSONNEL
N°AFFAIRE
DATE (jj/mm/aaaa)
ANNEE
SEMAINE
HEURE
Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer, Optional An As Integer = 0) As Date ' Objectif: Convertir un no de semaine en une date correspondant au lundi de cette semaine ' *********************************************************** **************************************************** On Error GoTo TraitementErreur 'Teste si le numéro de semaine est correct et si l'année est spécifiée. If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then MsgBox "Le numéro de semaine est incorrect, veuillez corriger", vbCritical, "Erreur de saisie" Exit Function ElseIf An = 0 Then An = Year(Date) End If Dim Datetemp As Date ' On calcule à partir du 1er janvier de l'année spécifiée Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7 LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay (Datetemp) - vbMonday) Exit Function TraitementErreur: MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) & Err.Description End Function
-----Message d'origine----- Bonjour.
ce n'est pas forcément une mauvaise idée si les calculs sont faits à la
semaine et ensuite imputés sur le mois où apparaît la fin de semaine. la
date de fin de semaine recalculée avec le n° de semaine peut donner le mois
d'imputation. Si les calculs sont faits au mois civil, il est préférable
d'avoir la date directement dans l'enregistrement. pour calculer la date
exacte du premier jour de la semaine tu as une fonction qui est sur la page
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Kiwix" a écrit dans le message de
news: 128c01c4b5d9$4dec02a0$ Bonjour à tous,
Je suis entrain de reprendre une base de donnée Access de pointage des heures de main d’œuvre. Mais ma table de pointage est structurée de la façon suivant (les champs) :
N°PERSONNEL N°AFFAIRE ANNEE SEMAINE LUNDI (dans ce champ apparaît les heures travaillées) MARDI (dans ce champ apparaît les heures travaillées) MERCREDI (dans ce champ apparaît les heures travaillées) JEUDI (dans ce champ apparaît les heures travaillées) VENDREDI (dans ce champ apparaît les heures travaillées) SAMEDI (dans ce champ apparaît les heures travaillées) DIMANCHE (dans ce champ apparaît les heures travaillées)
Mon problème est donc ceci : Comment puis-je faire dans une requête pour filtrer mes données sur un MOIS ? L’idéal pour moi serais de re-transformer ces données dans une tables structuré de la façon suivant :
N°PERSONNEL N°AFFAIRE DATE (jj/mm/aaaa) ANNEE SEMAINE HEURE
Merci pour vos réponse :)
.
Raymond [mvp]
Tu places la fonction dans un module standard. dans la requête, en mode création access, dans une colonne tu indiques: DatedeSaisie: LundiSemaineAnnéeQuelconque([SEMAINE]; [ANNEE])
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"kiwix" a écrit dans le message de news: 056901c4b5ee$81138300$ Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer, Optional An As Integer = 0) As Date ' Objectif: Convertir un no de semaine en une date correspondant au lundi de cette semaine ' *********************************************************** **************************************************** On Error GoTo TraitementErreur 'Teste si le numéro de semaine est correct et si l'année est spécifiée. If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then MsgBox "Le numéro de semaine est incorrect, veuillez corriger", vbCritical, "Erreur de saisie" Exit Function ElseIf An = 0 Then An = Year(Date) End If Dim Datetemp As Date ' On calcule à partir du 1er janvier de l'année spécifiée Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7 LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay (Datetemp) - vbMonday) Exit Function TraitementErreur: MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) & Err.Description End Function
Tu places la fonction dans un module standard.
dans la requête, en mode création access, dans une colonne tu indiques:
DatedeSaisie: LundiSemaineAnnéeQuelconque([SEMAINE]; [ANNEE])
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"kiwix" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 056901c4b5ee$81138300$a601280a@phx.gbl...
Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer,
Optional An As Integer = 0) As Date
' Objectif: Convertir un no de semaine en une date
correspondant au lundi de cette semaine
'
***********************************************************
****************************************************
On Error GoTo TraitementErreur
'Teste si le numéro de semaine est correct et si l'année
est spécifiée.
If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then
MsgBox "Le numéro de semaine est incorrect, veuillez
corriger", vbCritical, "Erreur de saisie"
Exit Function
ElseIf An = 0 Then
An = Year(Date)
End If
Dim Datetemp As Date
' On calcule à partir du 1er janvier de l'année spécifiée
Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7
LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay
(Datetemp) - vbMonday)
Exit Function
TraitementErreur:
MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) &
Err.Description
End Function
Tu places la fonction dans un module standard. dans la requête, en mode création access, dans une colonne tu indiques: DatedeSaisie: LundiSemaineAnnéeQuelconque([SEMAINE]; [ANNEE])
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"kiwix" a écrit dans le message de news: 056901c4b5ee$81138300$ Comment utiliser dans une requête cette fonction ? :
Function LundiSemaineAnnéeQuelconque(Semaine As Integer, Optional An As Integer = 0) As Date ' Objectif: Convertir un no de semaine en une date correspondant au lundi de cette semaine ' *********************************************************** **************************************************** On Error GoTo TraitementErreur 'Teste si le numéro de semaine est correct et si l'année est spécifiée. If IsNull(Semaine) Or Semaine <= 0 Or Semaine > 52 Then MsgBox "Le numéro de semaine est incorrect, veuillez corriger", vbCritical, "Erreur de saisie" Exit Function ElseIf An = 0 Then An = Year(Date) End If Dim Datetemp As Date ' On calcule à partir du 1er janvier de l'année spécifiée Datetemp = DateSerial(An, 1, 1) + (Semaine - 1) * 7 LundiSemaineAnnéeQuelconque = Datetemp - (WeekDay (Datetemp) - vbMonday) Exit Function TraitementErreur: MsgBox "No Erreur: " & Err.Number & Chr(13) & Chr(13) & Err.Description End Function