OVH Cloud OVH Cloud

comparer les heures ...

13 réponses
Avatar
Fred Pasc
Bonjour,

Je dois, pour associer un type d'équipe (matin, aprem, nuit) à un de mes
utilisateurs comparer l'heure de la connexion (enregistré dans une table)
aux heures définissant s'il s'agit du matin, de l'aprem ou de la nuit.
Par exemple matin est défini de 5h à 12h30, l'aprem de 12h30 à 20h et la
nuit de 20h à 4h.
Mon problème est que je ne sais pas récupérer et donc pas récupérer l'heure
et je vois encore moins comment je vais pouvoir comparer 12h31 à 12h29. Je
pense aussi au problème de changement de jour pendant l'équipe de nuit, je
sais pas si cela va poser un problème.
Enfin voilà, je souhaiterais faire ma comparaison dans une requête sous
Access 2000 de préférence mais l'emploi de VBA est obligatoire je m'y
mettrai.
Merci de votre aide et/ou de votre éclairage.

A+
Fred

10 réponses

1 2
Avatar
Fred Pasc
J'oubliais de préciser, mon champ date est rempli par un Now() et je connais
bien SQL.
Merci

A+
Fred


enlever le N pour m'écrire
"Fred Pasc" a écrit dans le message de news:
d6fjgd$p9e$
Bonjour,

Je dois, pour associer un type d'équipe (matin, aprem, nuit) à un de mes
utilisateurs comparer l'heure de la connexion (enregistré dans une table)
aux heures définissant s'il s'agit du matin, de l'aprem ou de la nuit.
Par exemple matin est défini de 5h à 12h30, l'aprem de 12h30 à 20h et la
nuit de 20h à 4h.
Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure

et je vois encore moins comment je vais pouvoir comparer 12h31 à 12h29. Je
pense aussi au problème de changement de jour pendant l'équipe de nuit, je
sais pas si cela va poser un problème.
Enfin voilà, je souhaiterais faire ma comparaison dans une requête sous
Access 2000 de préférence mais l'emploi de VBA est obligatoire je m'y
mettrai.
Merci de votre aide et/ou de votre éclairage.

A+
Fred




Avatar
Eric
Bonjour Fred Pasc,

Dans une requête en utilisant des VraiFaux (IIf) imbriqués, tu devrais
t'en sortir non ?

Du genre :
Team: VraiFaux([HCX] Entre #05:00:00# Et
#12:29:59#;"Matin";VraiFaux([HCX] Entre #12:30:00# Et #19:59:59#;"Après
midi";VraiFaux([HCX] Entre #20:00:00# Et #23:59:59# Ou [HCX] Entre
#00:00:00# Et #04:00:00#;"Nuit";"RIEN")))

Tu as une heure qui manque dans le planning des périodes (de 4H à 5H du
matin) donc j'ai mis RIEN.

Je ne sais pas si ca te dépannera car je ne comprends pas :

Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure



puisque tu dis que l'heure de connexion est stockée dans une table.

--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

J'oubliais de préciser, mon champ date est rempli par un Now() et je connais
bien SQL.
Merci

A+
Fred


enlever le N pour m'écrire
"Fred Pasc" a écrit dans le message de news:
d6fjgd$p9e$

Bonjour,

Je dois, pour associer un type d'équipe (matin, aprem, nuit) à un de mes
utilisateurs comparer l'heure de la connexion (enregistré dans une table)
aux heures définissant s'il s'agit du matin, de l'aprem ou de la nuit.
Par exemple matin est défini de 5h à 12h30, l'aprem de 12h30 à 20h et la
nuit de 20h à 4h.
Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure

et je vois encore moins comment je vais pouvoir comparer 12h31 à 12h29. Je
pense aussi au problème de changement de jour pendant l'équipe de nuit, je
sais pas si cela va poser un problème.
Enfin voilà, je souhaiterais faire ma comparaison dans une requête sous
Access 2000 de préférence mais l'emploi de VBA est obligatoire je m'y
mettrai.
Merci de votre aide et/ou de votre éclairage.

A+
Fred









Avatar
Fred Pasc
Bonjour et merci Eric,

Je ne sais pas si ca te dépannera car je ne comprends pas :
"Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure"

puisque tu dis que l'heure de connexion est stockée dans une table.



Effectivement, je me suis mal exprimé. Dans ma table, je ne récupère pas que
l'heure de connection mais la date, l'heure et les minutes. Mon problème
était de récupérer l'Heure comme on peut récupérer l'année par exemple en
faisant un Year(Date()). J'espère que je me suis mieux exprimé.
Je vais essayer ta requête qui me parait être une bonne idée et je te tiens
au courant.
merci

A+
Fred


"Eric" a écrit dans le message de news:

Bonjour Fred Pasc,

Dans une requête en utilisant des VraiFaux (IIf) imbriqués, tu devrais
t'en sortir non ?

Du genre :
Team: VraiFaux([HCX] Entre #05:00:00# Et
#12:29:59#;"Matin";VraiFaux([HCX] Entre #12:30:00# Et #19:59:59#;"Après
midi";VraiFaux([HCX] Entre #20:00:00# Et #23:59:59# Ou [HCX] Entre
#00:00:00# Et #04:00:00#;"Nuit";"RIEN")))

Tu as une heure qui manque dans le planning des périodes (de 4H à 5H du
matin) donc j'ai mis RIEN.

Je ne sais pas si ca te dépannera car je ne comprends pas :

Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure



puisque tu dis que l'heure de connexion est stockée dans une table.

--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

J'oubliais de préciser, mon champ date est rempli par un Now() et je
connais


bien SQL.
Merci

A+
Fred


enlever le N pour m'écrire
"Fred Pasc" a écrit dans le message de news:
d6fjgd$p9e$

Bonjour,

Je dois, pour associer un type d'équipe (matin, aprem, nuit) à un de mes
utilisateurs comparer l'heure de la connexion (enregistré dans une
table)



aux heures définissant s'il s'agit du matin, de l'aprem ou de la nuit.
Par exemple matin est défini de 5h à 12h30, l'aprem de 12h30 à 20h et la
nuit de 20h à 4h.
Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure

et je vois encore moins comment je vais pouvoir comparer 12h31 à 12h29.
Je



pense aussi au problème de changement de jour pendant l'équipe de nuit,
je



sais pas si cela va poser un problème.
Enfin voilà, je souhaiterais faire ma comparaison dans une requête sous
Access 2000 de préférence mais l'emploi de VBA est obligatoire je m'y
mettrai.
Merci de votre aide et/ou de votre éclairage.

A+
Fred











Avatar
Gafish
Bonjour,


Effectivement, je me suis mal exprimé. Dans ma table, je ne récupère
pas que l'heure de connection mais la date, l'heure et les minutes.
Mon problème était de récupérer l'Heure comme on peut récupérer
l'année par exemple en faisant un Year(Date()).


Comme tu as la fonction Year(), tu as aussi Hour() et Minute()
Avec cela tu reprends l'idée que t'as donné Eric, tu auras juste des tests
en plus vu que tu devras tester séparément heures et minutes.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
re,
Voir les fonctions Heure() et Minute()

--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour et merci Eric,


Je ne sais pas si ca te dépannera car je ne comprends pas :
"Mon problème est que je ne sais pas récupérer et donc pas récupérer


l'heure"

puisque tu dis que l'heure de connexion est stockée dans une table.




Effectivement, je me suis mal exprimé. Dans ma table, je ne récupère pas que
l'heure de connection mais la date, l'heure et les minutes. Mon problème
était de récupérer l'Heure comme on peut récupérer l'année par exemple en
faisant un Year(Date()). J'espère que je me suis mieux exprimé.
Je vais essayer ta requête qui me parait être une bonne idée et je te tiens
au courant.
merci

A+
Fred


"Eric" a écrit dans le message de news:


Bonjour Fred Pasc,

Dans une requête en utilisant des VraiFaux (IIf) imbriqués, tu devrais
t'en sortir non ?

Du genre :
Team: VraiFaux([HCX] Entre #05:00:00# Et
#12:29:59#;"Matin";VraiFaux([HCX] Entre #12:30:00# Et #19:59:59#;"Après
midi";VraiFaux([HCX] Entre #20:00:00# Et #23:59:59# Ou [HCX] Entre
#00:00:00# Et #04:00:00#;"Nuit";"RIEN")))

Tu as une heure qui manque dans le planning des périodes (de 4H à 5H du
matin) donc j'ai mis RIEN.

Je ne sais pas si ca te dépannera car je ne comprends pas :

Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure



puisque tu dis que l'heure de connexion est stockée dans une table.

--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


J'oubliais de préciser, mon champ date est rempli par un Now() et je



connais

bien SQL.
Merci

A+
Fred


enlever le N pour m'écrire
"Fred Pasc" a écrit dans le message de news:
d6fjgd$p9e$


Bonjour,

Je dois, pour associer un type d'équipe (matin, aprem, nuit) à un de mes
utilisateurs comparer l'heure de la connexion (enregistré dans une




table)

aux heures définissant s'il s'agit du matin, de l'aprem ou de la nuit.
Par exemple matin est défini de 5h à 12h30, l'aprem de 12h30 à 20h et la
nuit de 20h à 4h.
Mon problème est que je ne sais pas récupérer et donc pas récupérer
l'heure

et je vois encore moins comment je vais pouvoir comparer 12h31 à 12h29.




Je

pense aussi au problème de changement de jour pendant l'équipe de nuit,




je

sais pas si cela va poser un problème.
Enfin voilà, je souhaiterais faire ma comparaison dans une requête sous
Access 2000 de préférence mais l'emploi de VBA est obligatoire je m'y
mettrai.
Merci de votre aide et/ou de votre éclairage.

A+
Fred















Avatar
Eric
Bonjour Arnaud,

Plus simple, il reconstruit l'heure complete avec les fonctions Heure()
& Minute() sur laquelle il applique la fonction de conversion CDate() et
teste la valeur ainsi obtenue.

Ex:
H: Heure([HCOMPLETE]) 'HCOMPLETE = Date-Heure de la connexion
M: Minute([HCOMPLETE])
VraiFaux(CDate([H] & ":" & [M]) Entre #04:00:00# Et
#12:30:00#;"Good";"Bad") ' cas simplifié
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Comme tu as la fonction Year(), tu as aussi Hour() et Minute()
Avec cela tu reprends l'idée que t'as donné Eric, tu auras juste des tests
en plus vu que tu devras tester séparément heures et minutes.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Gafish
Eric wrote:
Bonjour Arnaud,

Plus simple, il reconstruit l'heure complete avec les fonctions
Heure() & Minute() sur laquelle il applique la fonction de conversion
CDate() et teste la valeur ainsi obtenue.

Ex:
H: Heure([HCOMPLETE]) 'HCOMPLETE = Date-Heure de la connexion
M: Minute([HCOMPLETE])
VraiFaux(CDate([H] & ":" & [M]) Entre #04:00:00# Et
#12:30:00#;"Good";"Bad") ' cas simplifié
--



Yes ! Bonne idée ! C'est vrai que ca lui épargnera des comparaisons à
rallonge !

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Fred Pasc
Bonjour à tous les deux et merci de votre aide,

Juste une question, le code que tu me donnes, c'est du VBA? Si oui comment
je dois l'utiliser? Je vois pas bien. Si c'est une requête, où je dois la
mettre? Dans le where d'une requête SQL?
Je bloque vraiment, si tu pouvais m'aider encore ça serait très sympa
Merci d'avance

A+
Fred

"Eric" a écrit dans le message de news:
#
Bonjour Arnaud,

Plus simple, il reconstruit l'heure complete avec les fonctions Heure()
& Minute() sur laquelle il applique la fonction de conversion CDate() et
teste la valeur ainsi obtenue.

Ex:
H: Heure([HCOMPLETE]) 'HCOMPLETE = Date-Heure de la connexion
M: Minute([HCOMPLETE])
VraiFaux(CDate([H] & ":" & [M]) Entre #04:00:00# Et
#12:30:00#;"Good";"Bad") ' cas simplifié
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Comme tu as la fonction Year(), tu as aussi Hour() et Minute()
Avec cela tu reprends l'idée que t'as donné Eric, tu auras juste des
tests


en plus vu que tu devras tester séparément heures et minutes.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
Juste une question, le code que tu me donnes, c'est du VBA? Si oui
comment je dois l'utiliser? Je vois pas bien. Si c'est une requête,
où je dois la mettre? Dans le where d'une requête SQL?


Le code que t'as donnée Eric n'est pas du VBA, il faut le mettre dans ta
requête.
Tu ouvres ta requête en mode création, tu crées un nouveau champ que tu
appeles comme tu veux et tu mets le code comme suit :
NouveauChamp : Ici le code
Cela a pour effet de créer un champ calculé qui s'appele NouveauChamp, en
SQL c'est un Alias.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Fred Pasc
Bonjour, merci pour ta réponse mais je ne comprends décidement rien (dur ce
matin pour moi).
Je mets ça:

H: Heure([HCOMPLETE])
M: Minute([HCOMPLETE])
VraiFaux(CDate([H] & ":" & [M]) Entre #04:00:00# Et
#12:30:00#;"Good";"Bad")

Dans une requête? Tel quel? Je ne suis pas un pro du SQL mais ça ne me le
prend pas et je trouve ça normal, les ":" , les ";", le "VraiFaux" il ne
semble pas connaître non plus.
Ce que je veux faire exactement, je veux faire une requête de type INSERT
INTO qui insère dans une table existante EQUIPE le type d'équipe
(matin,aprem ou soir). Après le INSERT INTO, je mets donc un SELECT qui me
calcule le type d'équipe (ce que vous avez essayé de m'expliquer). Le From
est la Table où se trouve la Date de la connexion.
Il me semble que je ne suis pas loin du but mais je bloque car je ne sais
pas faire ce genre de select.
Merci d'avance pour une nouvelle aide.

A+
Fred


"Gafish" a écrit dans le message de news:



Juste une question, le code que tu me donnes, c'est du VBA? Si oui
comment je dois l'utiliser? Je vois pas bien. Si c'est une requête,
où je dois la mettre? Dans le where d'une requête SQL?


Le code que t'as donnée Eric n'est pas du VBA, il faut le mettre dans ta
requête.
Tu ouvres ta requête en mode création, tu crées un nouveau champ que tu
appeles comme tu veux et tu mets le code comme suit :
NouveauChamp : Ici le code
Cela a pour effet de créer un champ calculé qui s'appele NouveauChamp, en
SQL c'est un Alias.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





1 2