IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Gestion des actions de maintenance préventive


Sujet :

Modélisation

  1. #1
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut Gestion des actions de maintenance préventive
    Bonjour, je voudrais gérer mes actions de maintenance de la façon suivante. Avoir une table maintenance préventive répertoriant toutes les actions de maintenance préventive, une table maintenance préventive à effectuer, et une table historique maintenance préventive.

    Mon idée, est de venir faire un test dans ma table maintenance préventive. Si la date d'intervention est égale à aujourd'hui, alors je copie l'intervention à effectuer dans la table maintenance préventive à effectuer, et je réincrémente ma date d'intervention dans ma table maintenance préventive, de sa périodicité.

    Ensuite, quand j'ai terminé mon intervention, je la transfert vers ma table historique des maintenance préventive.

    La démarche vous paraît elle correcte? Avec 3 tables? Ou vous vooyez sa plus simple?

    Il faut donc part exemple que si une action de maintenance préventive a une périodicité "hebdomadaire", et que si j'ouvre ma base dans 3 semaines, l'action doit avoir été mise 3 fois dans la table maintenance préventive à effectuer?!!!!

    Est ce que tout cela paraît cohérent?

  2. #2
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Personnellement je ne vois pas l'intérêt de la table "l'intervention à effectuer". Elle peux être remplacer par une simple requête sur la première table. Dans ta première table tu mets les champs : Périodicité, dernière intervention, prochaine intervention et tu mets à jour ces champs lorsque tu crées un nouvel enregistrement dans la table "historique des maintenance préventive".

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

  3. #3
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    re et merci pour ta participation.

    Actuelement, j'ai 2 tables, et c'est celles que tu dit. A savoir une table maintenance préventive:

    tbl_MaintenancePreventive, avec les champs suivants

    -ID_Maintenance préventive
    -ID_Machine
    -ID_Périodicité
    -ID_Type
    -Element
    -Descriptif
    -Consigne de sécurité
    -Outillage spécial
    -Gamme de démontage
    -DateDerniereIntervention
    -DateProchaineIntervention

    tbl_HistoriqueMaintenancePreventive, avec les champs

    -ID_HistoriqueMaintenenancePreventive
    -ID_MaintenancePreventive
    -ID_Personnel
    -Date_Intervention
    -Commentaire
    -DuréeIntervention

    Je ne vois pas ensuite comment je peut faire juste avec ces 2 tables, pour voir apparaître dans une requête, 2 fois une intervention, si celle ci n'a pas était effectuée?

    Ton idée, toi, c'est dans ta requête d'afficher une intervention, si la date est <=Date système, et que si je dit que cette intervention a été effectuée, alors je réincrémente de la périodicité?

    Merci

  4. #4
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Re,

    Oui en gros c'est ça.

    je peut faire juste avec ces 2 tables, pour voir apparaître dans une requête, 2 fois une intervention, si celle ci n'a pas était effectuée?
    Pourquoi veux-tu voir deux fois une opération de maintenance qui n'a pas était effectuée? Si tu veux mettre en évidence les opérations de maintenance qui auraient dû être effectuées plusieurs fois, tu peux toujours mettre un champs dans ta requête qui fait : "(DateProchaineIntervention-DateDerniereIntervention)/Frequence". Note qu'il faut que tu définisse dans la fréquence dans la table "tbl_MaintenancePreventive" ça te servira aussi pour la mise à jour de la table (voir partie suivante).

    si je dit que cette intervention a été effectuée, alors je réincrémente de la périodicité?
    Je ne ferais pas vraiment comment ça. Je ferait un interface pour que les opérateurs puissent saisir les opérations qu'ils ont effectuées. A chaque nouvelle opération saisie par un opérateur je mettrai à jour la table "tbl_MaintenancePreventive" en faisant :

    DateDerniereIntervention = date système
    DateProchaineIntervention = date système + fréquence

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

  5. #5
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Oui c'est ce que j'ai fait en fait!

    Seul problème, je ne peut pas savoir si une opération à été faite en retard ou quoi...

    O pire je vais intégrer un label sur évenement clic sur la zone de liste pour afficher le ratard de l'intervention, et dans ma table "historique maintenance préventive", je peut toujours mettre un champ retard qui me calcul la différence entre la date d'insertion et la date de validation de l'action!

    Voila

    Si d'autres personnes ont procédés autrement

  6. #6
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Ce que je t'aurai conseillé c'est de mettre un champ "Date d'intervention prévu" dans la table "historique maintenance préventive" et lorsque tu ajoute un enregistrement tu mets dans ce champ la valeur de "DateProchaineIntervention" de la table "tbl_MaintenancePreventive". Comme ça tu peux savoir quelles sont les maintenance faite en retard, de combien et savoir le retard moyen.

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

  7. #7
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    OK ba je vais voir sa!

    Mais le problème de cette solution, est que si l'intervention est hebdomadaire, et que le gars loupe une semaine, cela ne se vera pas, si?

    Ah si ptetre en faite... Puisque sa réincrémentera la date que si l'intervention est effectuée...

    Bon ba je vais essayé sa!

    Merci pour ton aide je te tien au courant

  8. #8
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Pas besoin de mettre un champ retard dans ma table historique si?

    Le calcul sera fait avec des requêtes, ou je peut le faire direct dans la table?

  9. #9
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Ah oé mais petit problème je rencontre un problème dans ta solution, puisque je réincrémente la date avant, donc forcément, elle est égale à une date plus récente que la date d'intervention...

    Voila le code de mon bouton OK:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub cmdValider_click()
     
     
    Dim id_MaintenancePréventive, ID_Personnel, DuréeIntervention As Integer
    Dim sql, Commentaire As String
    Dim DateMaintenancePréventive As Date, DatePrevueInitialement As Date
    Dim oRst As DAO.Recordset
    Dim odb As DAO.Database
     
    If Me.txtIDDemande.Caption = "null" Then Exit Sub
     
    Set odb = CurrentDb
     
    id_MaintenancePréventive = Me.txtIDDemande.Caption
    Commentaire = Me.txtCommentaire
    Commentaire = Replace(Commentaire, "'", "''")
    DuréeIntervention = Me.listeDurée
    sql = "select * from tbl_MaintenancePréventive where id_MaintenancePréventive = " & id_MaintenancePréventive & ";"
    Set oRst = odb.OpenRecordset(sql, dbOpenDynaset)
    ID_Périodicité = oRst.Fields("ID_Périodicité").Value
    DatePrevueInitialement = oRst.Fields("DateProchaineIntervention").Value
     
    sql = "Select NombreDeJours from tbl_Périodicité where ID_Periodicité = " & ID_Périodicité & ""
    Set oRst = odb.OpenRecordset(sql, dbOpenDynaset)
     
    ProchaineIntervention = oRst.Fields("NombreDeJours").Value + Date
     
    sql = "Update tbl_MaintenancePréventive set DateDerniéreIntervention='" & Date & "', DateProchaineIntervention = '" & ProchaineIntervention & "'  where  ID_MaintenancePréventive =" & id_MaintenancePréventive & ";"
    odb.Execute (sql)
     
    sql = "Select Max(ID_HistoriqueMaintenancePréventive) from tbl_HistoriqueMaintenancePréventive"
    Set oRst = odb.OpenRecordset(sql, dbOpenDynaset)
    id_HistoriqueMaintenancePréventive = oRst.Fields(0).Value + 1
     
    ID_Personnel = Me.listeIntervenant
     
    sql = "insert into tbl_HistoriqueMaintenancePréventive values (" & id_HistoriqueMaintenancePréventive & ", '" & id_MaintenancePréventive & "' ," & ID_Personnel & ",'" & Date & "', '" & DatePrevueInitialement & "', '" & Commentaire & "', " & DuréeIntervention & " )"
    odb.Execute (sql)
     
    MsgBox ("Votre Intervention a été correctement enregistrée")
    DoCmd.Close
    Form_SignalerMaintenancePreventiveTerminé.Refresh
    Form_SignalerMaintenancePreventiveTerminé.txtRetard.Caption = ""
     
     
    End Sub

  10. #10
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Je reprend pour pouvoir :

    - identifier si une opération de maintenance est en retard, il faut regarder la table "tbl_MaintenancePreventive" puisque c'est elle qui contient l'état courant des la maintenace. Comme ça avec un requête tu peux dire qu'elle sont les maintenances à effectuer dans les 5 prochains jour par exemple.

    - identifier les maintenances qui ont été effectué en retard c'est la table "historique maintenance préventive" qu'il faut utiliser puisque c'est qui contient ce qui c'est réellement passé. C'est pourquoi il faut que tu ajoute dans cette table un pour mettre soit le retard de l'opération, soit la date à laquelle aurai due être effectuée. Chaque fois qu'une nouvelle opération de maintenance est ajouter à l'historique il faut tu relevé la date de réalisation réelle et la date de maintenance théorique. Comme ça avec un simple requête tu pourra isoler les maintenance effectuées en retard, calculer le retard moyen...

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

  11. #11
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Oui je suis d'accord, mais dans mas structure des tables, la date à laquelle l'interevntion auré dû etre effectuée, est le date prochaine intervention!!! (tu est d'accord")

    Mais le problème, c'est que je réincrémente cette date de la périodicité d'intervention, elle pernd donc la date de prochaine intervention, ce qui signifie qu'elle est supérieure à la date de l'interevntion et docn que je ne pourrait jamais observé le ratard de l'interevtnion....

    Regarde la requete que je t'ai mis!

    Merci

  12. #12
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Re,

    Récupère la valeur avant de la mettre à jour. Ton formulaire de saisi d'opération de maintenance contient le champ "date d'intervention prévue" (en invisible) et tu utilise ton recordset pour y mettre la valeur de la table maintenance préventive avant de la mettre à jour.

    Cordialement
    Etant philosophe, j'ai un problème pour chaque solution. [R. Zend]

Discussions similaires

  1. gestion des actions clavier sur CellEditor
    Par giannichedda dans le forum SWT/JFace
    Réponses: 0
    Dernier message: 23/03/2010, 17h53
  2. Gestion des identifiants & réindexation, maintenance
    Par Nonoleplongeur dans le forum HyperFileSQL
    Réponses: 6
    Dernier message: 03/02/2010, 16h06
  3. Gestion des actions générées par Swing Appli Framework
    Par Sirludo002 dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 23/04/2009, 12h31
  4. [SSIS][2K5]Gestion d'un tracking des actions
    Par cavo789 dans le forum SSIS
    Réponses: 9
    Dernier message: 27/11/2008, 14h29
  5. Gestion des plans d'actions avec requête ajout
    Par 512banque dans le forum Modélisation
    Réponses: 3
    Dernier message: 08/01/2008, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo