comment calculer une différence d'heure en minute sur access?

cin.k

Best Member
BONJOUR?

comment fait on pour calculer une différence d'heure en minute sur access?
comment je dois faire pour calculer:
exemple:
heure debut: 12:00
heure fin: 12:30
pourqu'ensuite je puisse avoir dans une autre colonne la durée en minute: ici dans l'exemple:30
mais je veux qu'elle apparaisse dans une colonne a part appelée durée

merci beaucoup

:biggrin:
 

sekhmet278

New Member
je pense que tu dois utiliser le générateur d'expression.
dans requête, tu fais : clique droit, générateur d'expression, tu cliques sur tes champs heure fin - heure de début.
tu auras EXPR que tu intituleras "durée".
 

vestale974

Well-Known Member
Salut,

C'est un peu plus complèxe qu'une simple différence

Durée_en_minutes:Format$(DiffDate("s";[Heure_début];[Heure_fin])\60 Mod 60;"00")

Parcontre, si tu dépasses les 60 minutes, il faut rédiger la fonction de la façon suivante:
Durée:Format$(DiffDate("s";[Heure_début];[Heure_fin])\3600;"00")&":"&Format$(DiffDate("s";[Heure_début];[Heure_fin])\60 Mod 60;"00")

ATTENTION !!! j'utilise bien dans les 2 formules, l'anti slash \ et non pas le slash /
L'anti-slash est ou représente la division entière.
@+
 

cin.k

Best Member
merci!!!!!
:biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin: :biggrin:
 

cin.k

Best Member
moi en faite, j'ai mis avec les fonctions intégrées:
heure(heurefin-heuredebut)*60 + minute(heurefin-heuredebut)

et ça me calcule bien mon temps passé...

:chessy:j'ai une autre question, j'ai entre 2 tables 1,n et 1,n:
est ce que je dois obligatoirement créer une association porteuse de propriétées entre les 2? :unsure:

merci!!!
:smile: :smile:
 

patrice084

Best Member
cin.k link=topic=4927.msg50258#msg50258 date=1130068434 a dit:
:chessy:j'ai une autre question, j'ai entre 2 tables 1,n et 1,n:
est ce que je dois obligatoirement créer une association porteuse de propriétées entre les 2? :unsure:

Que dit votre MCD ?

Et dans Access, lorsque l'on définit une relation, il n'y a pas possibilité de définir des propriétés au sens du MCD. L'association porteuse de propriétés devient, sur Access, une table qui sera alors en relation avec les deux autres tables.
 

cin.k

Best Member
je te retiendrai au couant car je n'ai pas le mcd sur moi et je n'aurai qu'internet qu'en milieu de la semaine prochaine...

je peux peut etre expliquer un peu...

je dois définir le nombre de temps passé lpar un salarié pour un article précis.

pour cela je disposais des tables suivantes:
salarié
relevé
et il m'en manque 2... je ne me souviens plus! :chessy: :chessy:

bref, je te remettrai ça au propre...

mais merci beaucoup pour ton aide!

j'apprécie beaucoup car je ne suis pas une douée pour access
merci :smile: :smile: :smile: :smile: :smile: :smile: :smile: :smile: :smile: :smile: :smile:
 

vestale974

Well-Known Member
cin.k link=topic=4927.msg50360#msg50360 date=1130081753 a dit:
je te retiendrai au couant car je n'ai pas le mcd sur moi et je n'aurai qu'internet qu'en milieu de la semaine prochaine...
je peux peut etre expliquer un peu...
je dois définir le nombre de temps passé lpar un salarié pour un article précis.
pour cela je disposais des tables suivantes:
salarié
relevé
et il m'en manque 2... je ne me souviens plus!  :chessy: :chessy:
bref, je te remettrai ça au propre...
mais merci beaucoup pour ton aide!
j'apprécie beaucoup car je ne suis pas une douée pour access
merci  :smile:
Salut,

Cela ressemble étrangement à l'ABI l'alpin de chez lui !!

Voici un MLD qui correspondrait à ta problématique

SALARIÉ(ID_Sal, Nom_Sal, etc.)
RELEVÉ(ID_Rel, Date_Rel, etc., ID_Sal#)
ARTICLE(ID_Art, Désign_Art, etc.)
PRODUIRE(ID_Rel, ID_Art, Heure_Début, Heure_Fin)

@+
 

cin.k

Best Member
enfait c'était dans le cadre de mon stage qu'on m'a demandé de faire ça sur access...
j'ai repris les informations de l'ancien stagiaire...
et moi je voudrai bien améliorer ce qu'il avait fait....

donc comme MCD j'avais:
SALARIE==========RELEVE=========PRODUCTION========ARTICLE
0,n 1,n 1,1 1,n 1,1 0,n

donc ensuite:
SALARIE(codesalarié,nom,codereleve#)
RELEVE(coderelevé,datereleve,heuredebut,heurefin,duree,codesalarie#,code production#)
PRODUCTION(codeproduction,codearticle,dateproduction,quantité,nombreintervenants,anomalies)
ARTICLE(codearticle,désignation)

je voulais savoir pourquoi on n'a pas une table entre salarié et relevé?(car elle se situe entre n et n)

peux tu m'aider pour le corriger?

merci beaucoup
 

vestale974

Well-Known Member
cin.k link=topic=4927.msg51860#msg51860 date=1130309378 a dit:
enfait c'était dans le cadre de mon stage qu'on m'a demandé de faire ça sur access...
j'ai repris les informations de l'ancien stagiaire...
et moi je voudrai bien améliorer ce qu'il avait fait....

donc comme MCD j'avais:
SALARIE==========RELEVE=========PRODUCTION========ARTICLE
0,n 1,n 1,1 1,n 1,1 0,n

donc ensuite:
SALARIE(codesalarié,nom,codereleve#)
RELEVE(coderelevé,datereleve,heuredebut,heurefin,duree,codesalarie#,code production#)
PRODUCTION(codeproduction,codearticle,dateproduction,quantité,nombreintervenants,anomalies)
ARTICLE(codearticle,désignation)

je voulais savoir pourquoi on n'a pas une table entre salarié et relevé?(car elle se situe entre n et n)
peux tu m'aider pour le corriger?
merci beaucoup
Salut,
Si j'observe ton schéma et notamment les 2 cardinalités (0,n) et (1,n) sur les rôles de l'assocaition entre les entités SALARIÉ et RELEVÉ et que je compare les attributs de tes 2 relations SALARIÉ et RELEVÉ dans ton MPD (ou MR), il y a comme une ambiguïté. Tu trouves pas!
Parce qu'avoir des cardinalités de type Naire dans le schéma, et les représenter par des clés étrangères dans ton MLD (rouge prononcé), ça ne peut pas le faire.
@+
 

cin.k

Best Member
si je comprends bien je ne dois pas mettre de clef étrangère quand j'ai n et n?
pourtant je pensais justement qu'il fallait en metttre une?
quand dois je mettre une clef étrangère?
et est ce que je dois mettre une table apparente entre n et n(SALARIE et RELEVE)?

je sais je dois etre soulante mais j'aimerai comprendre enfait!

merci beaucoup
 

vestale974

Well-Known Member
cin.k link=topic=4927.msg52090#msg52090 date=1130329702 a dit:
si je comprends bien je ne dois pas mettre de clef étrangère quand j'ai n et n?
pourtant je pensais justement qu'il fallait en metttre une?
quand dois je mettre une clef étrangère?
et est ce que je dois mettre une table apparente entre n et n(SALARIE et RELEVE)?
je sais je dois etre soulante mais j'aimerai comprendre enfait!
merci beaucoup
Salut,
Faire de la modélisation conceptuelle n'est en aucun cas du bricolage, même si la méthode MERISE est abstraite.

La question que tu dois te poser pour cette problématique serait du style :
- Q : Pour un seul relevé combien a-t-il au minimum et au maximum de salarié?
- R : Sur un relevé il y a un et un seul salarié ou un salarié au minimum ou +sieurs au maximum.
Les règles de gestion permettent d'apporter les bonnes réponse. Et tu dois en avoir dans ton sujet.

@+
 

cin.k

Best Member
c'est pas un sujet!
c'est mon maitre de stage qui m'ademandé de faire ça a partir des relevé de chaque salarié...

- Q : Pour un seul relevé combien a-t-il au minimum et au maximum de salarié?
pour un relevé j'ai ou plusieurs salariés =>1,n
- R : Sur un relevé il y a un et un seul salarié ou un salarié au minimum ou +sieurs au maximum.
sur un relevé j'ai un ou plusieurs salariés =>1,n

donc ca me donne 1,n et 1,n entre salarié et relevé mais ensuite est que je dois crer une table intermédiaire?
car dons mon cours d'après mes souvenirs oui!

mais j'aimerai avoir le point de vue de quelqu'un pour qu'il me permette d'aboutir cette activité a terme.


merci
 

vestale974

Well-Known Member
Salut,

Sujet ou non, les règles de gestion sont importantes. Dans ton cas, c'est à toi d'imposer ces règles de gestion.
Donc si j'ai bien compris :
- sur un relevé on identifie un ou +sieurs salariés

Q - ton relevé, est-il quotidien, hebdomadaire, mensuel?

Q - Au niveau de la production, les salariés travaillent-ils sur le même poste ou font-il des rotations sur différents poste dans une journée?

Q - Un salarié quelqu'il soit et inscrit sur le relevé, produit-il un et un seul même article en quantité varaible ou bien produit-il des articles différents, en quantité variable entre une heure de début et de fin?

@+
 

cin.k

Best Member
sur un relevé on identifie un ou +sieurs salariés
sur un relevé on identifie un ou plusierus salariés

Q - ton relevé, est-il quotidien, hebdomadaire, mensuel?
relevé quotidien mais ce relevé peut avoir 2 dates car si ils ont pas fini le jour même, la journée du lendemain y figura car ce relevé est fait pour savoir combien de temps ils ont passé sur la production demandée

Q - Au niveau de la production, les salariés travaillent-ils sur le même poste ou font-il des rotations sur différents poste dans une journée?
les salariés font des rotations dans différents postes dans la journée mais quand ils changeront de production une nouvelle fiche est établie.

Q - Un salarié quelqu'il soit et inscrit sur le relevé, produit-il un et un seul même article en quantité varaible ou bien produit-il des articles différents, en quantité variable entre une heure de début et de fin?
le relevé donne les personnes ayant travaillés sur une quantité précise pour un artcile précis.

c'est à dire par exxemple:
Jb et Rv conditionnent 120 pots de miels de Tanzanie le 15/10/05 de 8h15 à 10h15 ensuite, peut intervenir 2 autres personnes ou plus pour continuer les processus (étiquetage, emballage....) et cela peut être fait le lendemain donc le 16/10/05.
donc ce relevé indiquera que pour 120 pots de miel de tanzanie j'ai eu 4 personnes pour le processus de production...

je sais pas si j'ai été claire....

j'aimerai que tu m'expliques à partir de ces questions quelle ligne directive me fais tu prendre...

merci de prendre du temps pour m'expliquer....
 

vestale974

Well-Known Member
cin.k link=topic=4927.msg52584#msg52584 date=1130395441 a dit:
sur un relevé on identifie un ou +sieurs salariés

je sais pas si j'ai été claire....
C'est pour cela que je te pose des questions, je commence à mieux comprendre

j'aimerai que tu m'expliques à partir de ces questions quelle ligne directive me fais tu prendre...
J'essaie tout simplement d'analyser au mieux ton SI afin de produire une bonne analyse conceptuelle.

Q - ton relevé, est-il quotidien, hebdomadaire, mensuel?
relevé quotidien mais ce relevé peut avoir 2 dates car  si ils ont pas fini le jour même, la journée du lendemain y figura car ce relevé est fait pour savoir combien de temps ils ont passé sur la production demandée.

Avec la réponse que tu me donnes, il y a un non sens avec ton MLD...
RELEVE(coderelevé,datereleve,heuredebut,heurefin,duree,codesalarie#,code production#)
...puisque tu indiques que pour un relevé, il n'y a qu'une seule date.


A chaque nouvelle journée, un nouveau relevé. Si tu veux savoir par la suite qui a travaillé, sur quelle durée et produit quelle quantité, seule l'interrogation de la BDD devra te fournir cette réponse, parce que ces notions (qui, durée et quantité) font appel à une méthode de calcul. Pour mémoire, seules les données élémentaires sont retenues dans la modélisation.

Q - Au niveau de la production, les salariés travaillent-ils sur le même poste ou font-il des rotations sur différents poste dans une journée?
les salariés font des rotations dans différents postes dans la journée mais quand ils changeront de production une nouvelle fiche est établie. OK
Q - Un salarié quelqu'il soit et inscrit sur le relevé, produit-il un et un seul même article en quantité varaible ou bien produit-il des articles différents, en quantité variable entre une heure de début et de fin?
le relevé donne les personnes ayant travaillés sur une quantité précise pour un artcile précis. OK
c'est à dire par exxemple:
Jb et Rv conditionnent 120 pots de miels de Tanzanie le 15/10/05  de 8h15 à 10h15 ensuite, peut intervenir 2 autres personnes ou plus pour continuer les processus (étiquetage, emballage....) et cela peut être fait le lendemain donc le 16/10/05. Donc ce relevé indiquera que pour 120 pots de miel de tanzanie j'ai eu 4 personnes pour le processus de production...
Si j'ai bien compris les 2 dernières réponses suivies de ton exemple, on doit admettre qu'un processus correspond à un poste (on part de la matière première, le miel, pour aboutir à un produit fini étiqueté et emballé) et qu'à ce poste correspond un relevé quotidien.

Donc, si je reprends mon analyse en fonction de tes explications
- sur un relevé quotidien, qui correspond à un poste (processus), sont inscrits un ou plusieurs salariés
- chaque salarié inscrit sur ce relevé produit une quantité variable d'un article, sur une durée indéterminée.
On devrait avoir un MLD suivant
SALARIE(codesalarié,nom)
RELEVE(coderelevé,datereleve)
ARTICLE(codearticle,désignation)
INSCRIRE(coderelevé,codesalarié)
PRODUIRE(codesalarié,codearticle,quantité,heuredebut,heurefin)

@+
 

cin.k

Best Member
mon relevé quotidien est redonné le lendemain si le conditionnement s'est fait sur 2 jours donc sur mon relevé j'aurai ma date du 1er jour et une 2nde si le conditionnement s'est fait le lendemain.
ce qui nous donnera donc 2 dates qui figurons sur notre relevé.

une autre question, maintenant que j'ai un peu plus analysé ton MLD, INSCRIRE serait une table qui est entre relevé et salarié car je prends les 2 clefs primaires de ces tables pour en faire ma clef primaire de la table INSCRIRE, c'est bien cela?

et la table PRODUIRE a bien une clef étrangère (codearticle)?

donc j'arriverai à des règles de gestions suivantes:

SALARIE==========(INSCRIRE)===========RELEVE=============ARTICLE===========PRODUCTION
1,n 1,n 1,1 1,1 1,1 1,1

donc soit:
un salarié peut ëtre inscrits sur un ou plusieurs relevés.
un relevé peut avoir l'inscription d'un ou de plusieurs salariés.
un relevé comprend un et un seul article conditionné.
un article conditionné peut figurer sur un et un seul relevé.
un article peut être produit une et une seule fois.
une production concerne un et un seul article.

est ce que c'est juste?

merci pour ton aide car je pense avoir plus compris avec tes questions et tes explications
 

vestale974

Well-Known Member
cin.k link=topic=4927.msg52763#msg52763 date=1130409008 a dit:
Tu prépares quel BTS?

mon relevé quotidien est redonné le lendemain si le conditionnement s'est fait sur 2 jours donc sur mon relevé j'aurai ma date du 1er jour et une 2nde si le conditionnement s'est fait le lendemain. Ce qui nous donnera donc 2 dates qui figurons sur notre relevé. :excl: Donc sur un relevé, il y aurait +sieurs dates ?? Il y a comme une ambiguïté là !

une autre question, maintenant que j'ai un peu plus analysé ton MLD, INSCRIRE serait une table pseudo-entité qui est entre relevé et salarié car je prends les 2 clefs primaires de ces tables pour en faire ma clef primaire composée de la table INSCRIRE, c'est bien cela?

et la table PRODUIRE a bien une clef étrangère non, logiquement une clé composée (codearticle)?

donc j'arriverai à des règles de gestions suivantes:

SALARIE==========(INSCRIRE)===========RELEVE=============ARTICLE===========PRODUCTION
            1,n                                             1,n         1,1                 1,1      1,1                  1,1


RELEVE==========(INSCRIRE)===========SALARIE=============(PRODUIRE)===========ARTICLE
     1,n                                                     1,n   1,n                                                          0,n

Ton schéma est incohérent, puisque semble-t-il, tu as besoin de quantifier le temps passé ainsi que la quantité réalisée par salarié dans la production d'un article. Donc, il faut que SALARIE soit "associé" à ARTICLE.

Il faut adapter la solution informatisée à la solution papier. Ce n'est pas parce qu'un relevé a un cycle de vie supérieur à 24 heures, qu'il faut impérativement mettre au point cette contrainte. D'ailleurs, elle va à l'encontre de la méthode MERISE (Unicité, atomicité, etc...)

D'ailleurs, si relevé sur un cycle de 2 jours, comment distinguer les heures effectuées dans la première journée ou dans la seconde?


donc soit:
un ...article.

est ce que c'est juste?selon mon analyse, non

merci pour ton aide car je pense avoir plus compris avec tes questions et tes explications
 

cin.k

Best Member
est ce que je peux par la suite t'envoyer mon dossier sur access par mail?

pour que tu puisses m'apporter conseil dessus? :chessy:

MERCI
:happy: :happy:
 

Ca peut vous intéresser