Je travaille actuellement sur un fichier qui collecte l’historique des
défauts de fonctionnement d’une machine de production.
Il contient les champs suivants.
Date : jj:mm:aa hh:mm:ss
N° Défaut :
Statut: 1= Apparition défaut, 0= Acquittement
Time : valeur numérique du champ date
Mon objectif est de calculer la durée de chaque défaut. A savoir qu’un
défaut peut apparaître alors que le précédent n’est pas encore acquité.
Avec la date je saurais calculer la durée d’apparition des défauts.
Par contre, je n’arrive toujours pas malgré plusieurs essais a créer la
requète qui mette sur une même ligne ces 2 dates afin de réaliser ce calcul.
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
Fabien
Georges a écrit :
Bonjour,
Je travaille actuellement sur un fichier qui collecte l’historique des défauts de fonctionnement d’une machine de production. Il contient les champs suivants.
Date : jj:mm:aa hh:mm:ss N° Défaut : Statut: 1= Apparition défaut, 0= Acquittement Time : valeur numérique du champ date
Mon objectif est de calculer la durée de chaque défaut. A savoir qu’un défaut peut apparaître alors que le précédent n’est pas encore acquité.
Avec la date je saurais calculer la durée d’apparition des défauts. Par contre, je n’arrive toujours pas malgré plusieurs essais a créer la requète qui mette sur une même ligne ces 2 dates afin de réaliser ce calcul.
D’avance merci pour votre aide
Georges
Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Georges a écrit :
Bonjour,
Je travaille actuellement sur un fichier qui collecte l’historique des
défauts de fonctionnement d’une machine de production.
Il contient les champs suivants.
Date : jj:mm:aa hh:mm:ss
N° Défaut :
Statut: 1= Apparition défaut, 0= Acquittement
Time : valeur numérique du champ date
Mon objectif est de calculer la durée de chaque défaut. A savoir qu’un
défaut peut apparaître alors que le précédent n’est pas encore acquité.
Avec la date je saurais calculer la durée d’apparition des défauts.
Par contre, je n’arrive toujours pas malgré plusieurs essais a créer la
requète qui mette sur une même ligne ces 2 dates afin de réaliser ce calcul.
D’avance merci pour votre aide
Georges
Bonjour,
Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date,
Min sur date.
Et Tu réalises le calcul avec cette requete par source.
Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin
from TblIncident
group by N°defaut
Ou quelquechose comme çà ;-)
@+
Je travaille actuellement sur un fichier qui collecte l’historique des défauts de fonctionnement d’une machine de production. Il contient les champs suivants.
Date : jj:mm:aa hh:mm:ss N° Défaut : Statut: 1= Apparition défaut, 0= Acquittement Time : valeur numérique du champ date
Mon objectif est de calculer la durée de chaque défaut. A savoir qu’un défaut peut apparaître alors que le précédent n’est pas encore acquité.
Avec la date je saurais calculer la durée d’apparition des défauts. Par contre, je n’arrive toujours pas malgré plusieurs essais a créer la requète qui mette sur une même ligne ces 2 dates afin de réaliser ce calcul.
D’avance merci pour votre aide
Georges
Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Georges
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
> Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Bonjour Fabien
Tout d'abord merci pour cette première piste.
Par contre j'ai oublié de préciser que les différents défauts pouvaient se
produire plusiers fois de suite.
J'ai essayé la première parte de ta solution mais malheureusement elle ne
marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme
critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour
le champ statut.
Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre".
Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre"
comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide
Georges
>
Bonjour,
Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date,
Min sur date.
Et Tu réalises le calcul avec cette requete par source.
Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin
from TblIncident
group by N°defaut
Ou quelquechose comme çà ;-)
@+
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
> Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Georges
Bonjour, Cette fois tout fonctionne J'ai donc créer une requéte "début" et une "Fin" et 2 autres avec un code trouvé sur un site. Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time) FROM R02_Debut AS LaTable_Alias2 WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*, Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ "Classement"
Merci Fabien pour ton aide Cdt Georges
"Georges" a écrit :
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
> > > Bonjour, > Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, > Min sur date. > Et Tu réalises le calcul avec cette requete par source. > Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin > from TblIncident > group by N°defaut > Ou quelquechose comme çà ;-) > @+ >
Bonjour,
Cette fois tout fonctionne
J'ai donc créer une requéte "début" et une "Fin"
et 2 autres avec un code trouvé sur un site.
Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter
un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time)
FROM R02_Debut AS LaTable_Alias2
WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*,
Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut
FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ
"Classement"
Merci Fabien pour ton aide
Cdt
Georges
"Georges" a écrit :
Bonjour Fabien
Tout d'abord merci pour cette première piste.
Par contre j'ai oublié de préciser que les différents défauts pouvaient se
produire plusiers fois de suite.
J'ai essayé la première parte de ta solution mais malheureusement elle ne
marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme
critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour
le champ statut.
Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre".
Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre"
comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide
Georges
> >
> Bonjour,
> Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date,
> Min sur date.
> Et Tu réalises le calcul avec cette requete par source.
> Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin
> from TblIncident
> group by N°defaut
> Ou quelquechose comme çà ;-)
> @+
>
Bonjour, Cette fois tout fonctionne J'ai donc créer une requéte "début" et une "Fin" et 2 autres avec un code trouvé sur un site. Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time) FROM R02_Debut AS LaTable_Alias2 WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*, Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ "Classement"
Merci Fabien pour ton aide Cdt Georges
"Georges" a écrit :
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
> > > Bonjour, > Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, > Min sur date. > Et Tu réalises le calcul avec cette requete par source. > Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin > from TblIncident > group by N°defaut > Ou quelquechose comme çà ;-) > @+ >
Fabien
Georges a écrit :
Bonjour, Cette fois tout fonctionne J'ai donc créer une requéte "début" et une "Fin" et 2 autres avec un code trouvé sur un site. Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time) FROM R02_Debut AS LaTable_Alias2 WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*, Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ "Classement"
Merci Fabien pour ton aide Cdt Georges
"Georges" a écrit :
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Bonjour, Ben la meilleur solution étant celle que l'on trouve :-) Bravo et bonne continuation @+
Georges a écrit :
Bonjour,
Cette fois tout fonctionne
J'ai donc créer une requéte "début" et une "Fin"
et 2 autres avec un code trouvé sur un site.
Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter
un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time)
FROM R02_Debut AS LaTable_Alias2
WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*,
Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut
FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ
"Classement"
Merci Fabien pour ton aide
Cdt
Georges
"Georges" a écrit :
Bonjour Fabien
Tout d'abord merci pour cette première piste.
Par contre j'ai oublié de préciser que les différents défauts pouvaient se
produire plusiers fois de suite.
J'ai essayé la première parte de ta solution mais malheureusement elle ne
marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme
critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour
le champ statut.
Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre".
Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre"
comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide
Georges
Bonjour,
Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date,
Min sur date.
Et Tu réalises le calcul avec cette requete par source.
Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin
from TblIncident
group by N°defaut
Ou quelquechose comme çà ;-)
@+
Bonjour,
Ben la meilleur solution étant celle que l'on trouve :-) Bravo et bonne
continuation
@+
Bonjour, Cette fois tout fonctionne J'ai donc créer une requéte "début" et une "Fin" et 2 autres avec un code trouvé sur un site. Pour celle "début" j'ai mis la formule suivante qui me permet d'incrémenter un numéro par rapport à la valeur "TIME".
SELECT (SELECT COUNT (Time) FROM R02_Debut AS LaTable_Alias2 WHERE Time < R02_Debut.Time)+1 AS Classement, R02_Debut.*, Left([T01_DesDef],Len([T01_DesDef])-17) AS Défaut FROM R02_Debut;
J'ai crée celle pour "Fin", et celle avec les 2 avec pour jointure le champ "Classement"
Merci Fabien pour ton aide Cdt Georges
"Georges" a écrit :
Bonjour Fabien Tout d'abord merci pour cette première piste. Par contre j'ai oublié de préciser que les différents défauts pouvaient se produire plusiers fois de suite. J'ai essayé la première parte de ta solution mais malheureusement elle ne marche pas dans ce cas là.
Moi j'avais pensé faire une requète pour les évènements Début avec comme critère "1" pour le champ statut. Une requète fin avec comme critère "0" pour le champ statut. Insérer dans chacune d'elle une formule qui incrémente un champ "N°ordre". Et pour finir une requète avec les 2 précédentes avec le champ "N°ordre" comme jointure.
Par contre je ne sais pas ecrire cette formule.
Encore merci pour ton aide Georges
Bonjour, Tu fais une requete avec regroupement sur le n°defaut , un Max sur Date, Min sur date. Et Tu réalises le calcul avec cette requete par source. Select N°Defaut,Max (Date_defaut) as Début,Min(Date_Defaut) as Fin from TblIncident group by N°defaut Ou quelquechose comme çà ;-) @+
Bonjour, Ben la meilleur solution étant celle que l'on trouve :-) Bravo et bonne continuation @+