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 :

Créer une base multidimensionnelle


Sujet :

Modélisation

  1. #61
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Pas de soucis, je lève le pied.

    Je sèche actuellement pour l'alimentation de plusieurs journées à la fois. Il y a un bogue : la date reste celle du 1er jour... et je ne trouve pas pourquoi.
    Peut être que cela vient lors de la modification de l'extension .stat -> .txt ?..?.?

  2. #62
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Voilà. Le problème venait du fait qu’en choisissant le 1er champ (1652) ou le 4e (000126578) comme clé unique, je perdais des enregistrements. Ces valeurs se répètent dans le déroulement du processus.

    J’ai réglé en calculant moi-même une clé.

    (N.B. Ici pas possible de choisir un NuméroAuto, puisque lorsqu’on ajoute un enregistrement dans une table (tPanneaux) il faut connaître sa clé primaire, car celle-ci devient la clé étrangère des enregistrements à ajouter dans l’autre table liée (tErreurs).

    Dans la foulée, j’ai essayé de comprendre ce que tu voulais comme liste pour le traitement des faux défauts et des vrais défauts.
    Est-ce que ceci conviendrait, j’ai testé avec les fichiers suivants



    ==============




    Pour ton info : 40 pages !

    ==============



    Pour ton info : 9 pages !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #63
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Voilà. Le problème venait du fait qu’en choisissant le 1er champ (1652) ou le 4e (000126578) comme clé unique, je perdais des enregistrements. Ces valeurs se répètent dans le déroulement du processus.

    J’ai réglé en calculant moi-même une clé.
    Est ce que tu peux me dire comment tu as calculé cette nouvelle clé, afin que je puisse comprendre à quoi elle correspond .. ? stp

    Dans la foulée, j’ai essayé de comprendre ce que tu voulais comme liste pour le traitement des faux défauts et des vrais défauts.
    Est-ce que ceci conviendrait, j’ai testé avec les fichiers suivants
    Les listes que tu me présente ont l'air bien, après à voir si on ne peut pas inclure des informations supplémentaires. Je suis en négociation avec le fournisseur de la machine pour qu'on puisse ajouter des modules à celle-ci, cela permettrait d'avoir davantage d'informations sur les erreurs, j'ai vu que ton code est assez souple pour permettre d'ajouter un champ dans les tables. J'attend de voir la réponse du fournisseur pour ensuite t'informer sur la suite des événements.

    10 Composant cassé
    15 Défaut Polarité
    20 Manque de Soudure
    25 Composant ou patte non soudé (Posé)
    30 Composant décalé (Hors Plage)
    35 Composant absent
    40 E.M.
    45 Composant sur la tranche
    50 Court-Circuit
    55 Mauvais Composant
    60 Patte tordue
    65 Composant sur le dos
    70 Divers

    Cela changerais des erreurs type: -1, 0, 1, 2, 3 ,4 ,5 ,6 ,7 ,8, 100, 99, 600
    Là on aurait clairement la cause du défauts, ensuite pour l'analyse ce sera mieux. On se rapprochera un peu plus du fichier excel que je t'es envoyé.

    Au passage, est ce que le fichier excel pour l'analyse qualité que je t'es envoyé t'as aidé à comprendre le but de cette base a peu près ?

  4. #64
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Je réfléchissais, concernant la clé, ne peut-on pas prendre le titre du fichier, soit la date, et concaténer la date avec le numéro ce trouvant dans la quatrième colonne (4° champ) du fichier .stat. Cela nous donnerais une clé unique car chaque fichier à une date unique.. Enfin, je réfléchis à voix haute..

  5. #65
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Ne te tracasse pas pour la clé. Je viens avec l'explication, c'est un processus simple : en début de programme, on cherche le dernier N° attribué et on ajoute 1 à chaque itération.

    Mais j'ai loupé la sauvegarde de mon travail d'hier, je suis occupé à reprogrammer.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #66
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Le code est devenu ceci :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    Option Compare Database
    Option Explicit
     
    Public Sub Importer()
      On Error GoTo GestionErreurs
      Dim obFSO As Scripting.FileSystemObject
      Dim obRep As Scripting.Folder
      Dim obFichier As Scripting.File
      Dim sDateJour As String
      Dim dDatejour As Date
      Dim rst As Recordset
      Dim tbl() As String  'pour splitter l'enregistrement
      Dim Composant() As String 'pour séparer le composant d'avec le N° de carte
      Dim Panneau As Long
      Dim sSql As String
      Dim i As Integer
      Dim tPanneauxPK As Long
        'Recherche du denier N° de clé
        tPanneauxPK = Nz(DMax("tPanneauxPK", "tPanneaux"), 0)
        Set obFSO = New Scripting.FileSystemObject
        Set obRep = obFSO.GetFolder(CurrentProject.Path & "\Donnees")
        'Boucle sur les fichiers
        For Each obFichier In obRep.Files
          If Right(obFichier.Name, 4) <> "stat" Then GoTo AuFichierSuivant
          'Capter la date du fichier
           sDateJour = Left(obFichier.Name, 8)
          'Renommer le fichier
          obFichier.Name = Left(obFichier.Name, Len(obFichier.Name) - 4) & "txt"
          'Importer
          DoCmd.SetWarnings False
          'Vidanger tInputBrut
          DoCmd.RunSQL "DELETE * FROM tInputBrut;"
          'Transférer les données dans la tInputBrut
          DoCmd.TransferText acImportDelim, "stat", "tInputBrut", obFichier, False
          'Formater la date
          dDatejour = DateSerial(Left(sDateJour, 4), Mid(sDateJour, 5, 2), Right(sDateJour, 2))
          'Créer un recordset avec tInputBrut
          Set rst = CurrentDb.OpenRecordset("tInputBrut")
          rst.MoveFirst
          'Lire chaque enregistrement l'un après l'autre
          Do While Not rst.EOF
              'ne laisser qu'un espace entre les champs
              rst.Edit
              For i = 1 To 10
                  rst(1) = Replace(rst(1), "  ", " ")
              Next i
              'Spliter les champs
              tbl = Split(rst(1), " ")
              'Traiter suivant la nature de cet enregistrement
              Select Case tbl(0)
                  Case "#"        'c'est donc un enregistrement pour lequel on ne fait rien
                  Case Is < "a"   'c'est donc un enregistrement dont le 1er champ est numérique => panneau
                     tPanneauxPK = tPanneauxPK + 1
                       sSql = "INSERT INTO tPanneaux ( tPanneauxPK,DateJour, NumInspection,Produit,Panneau, BCompo,MCompo,BFenetre,MFenetre ) " _
                            & "SELECT " & tPanneauxPK & " As Expr0, " _
                               & "#" & Format(dDatejour, "mm/dd/yy") & "# As Expr1, " _
                               & tbl(3) & " As expr2, " _
                               & """" & tbl(2) & """ As Expr3, " _
                               & """" & tbl(0) & """ As Expr4, " _
                               & tbl(4) & " As Expr5, " _
                               & tbl(5) & " As Expr6, " _
                               & tbl(6) & " As Expr7, " _
                               & tbl(7) & " As Expr8 ;"
                      'Exécuter la requête pour ajouter dans tPanneaux
                      DoCmd.RunSQL sSql
                  Case Else       'c'est donc un enregistrement qui décrit une erreur
                      'Spliter Composant/N° carte
                      Composant = Split(tbl(0), "-")
                      'Construire le SQL de la requête pour ajouter dans tErreurs
                      sSql = "INSERT INTO tErreurs ( tPanneauxFK, NumCarte, Composant, Boitier, Erreur, Fenetre, Operateur ) " _
                            & "SELECT " & tPanneauxPK & " As Expr1, " _
                               & Composant(1) & " As Expr4, " _
                               & """" & Composant(0) & """ As Expr5, " _
                               & """" & tbl(1) & """ As Expr6, " _
                               & tbl(5) & " As Expr7, " _
                               & """" & tbl(2) & tbl(3) & """ As Expr8, " _
                               & """" & tbl(6) & """ As Expr9;"
                      'Exécuter la requête pour ajouter dans tErreurs
                      DoCmd.RunSQL sSql
              End Select
              'Lire le suivant et boucler
              rst.MoveNext
              Loop
              'Clore le recordset
              rst.Close
              Set rst = Nothing
    AuFichierSuivant:
        Next obFichier
    Fin:
      Set obFSO = Nothing
      Set obRep = Nothing
      DoCmd.SetWarnings True
    GestionErreurs:
      Select Case Err.Number
        Case 0 ' pas d'erreur
          Exit Sub
        Case 94 ' enregistrement Nul Nul...
          Resume Next
        Case Else
          MsgBox "Erreur dans Importer : " & Err.Number & "-" & Err.Description & ".", vbCritical
      End Select
    End Sub

    Comme tu le vois, à ligne 19, on récupère le plus grand N° de clé (et 0 si la table est encore vide).
    À la ligne 53, à chaque création d'un nouvel enregistrement dans tPanneaux, on incrémente de une unité.
    Donc pas de quoi fouetter un chat !

    Pour la suite

    Au passage, est ce que le fichier excel pour l'analyse qualité que je t'es envoyé t'as aidé à comprendre le but de cette base a peu près ?
    Je ne m’y retrouve pas trop !

    Progressons pas à pas :

    --> Traitements des faux défauts (identifier par Erreur= 2, 4 ou 7)
    Pour les faux défauts, il faut récupérer le boitier et la fenêtre, les champ (boitier & fenêtre) permettent de repérer le programme en cause dans le but d'améliorer l'algorithme de contrôle présent dans la machine afin de réduire le nombre de faux défauts.
    eFauxDefauts : provisoirement OK



    --> Traitements des vrais défauts (identifier par Erreur= 1, 5, 6 ou 99)
    Pour les vrais défauts il faut récupérer le boitier et le composant, les champs (boitier & composant) permettent de repérer quels sont les composants qui génèrent le plus de vrais défauts pour agir en amont sur la ligne de production et éventuellement détecter une anomalie sur des process plus haut dans la chaîne de production.
    eVraisDefauts : provisoirement OK

    En cours :

    il serait intéressant d'une part avoir, pour le traitement des vrais défauts, un pareto pour déterminer les composants les plus touchés par les défauts. Sachant que pour identifier un composant il faut se munir de la clé (Produit, Boitier, Composant).
    D'autre part, pour le traitement des faux défauts, un pareto pour déterminer l'algorithme le moins bien "réglé". Sachant qu'un algorithme est identifié par la clé (Produit, Boitier, Fenêtre).
    Connaitre le top3 ou top10 des produits qui ont le plus de mauvais composant MCompo par rapport à BCompo.
    Quand tu dis « pareto », je suppose que tu ne veux voir que les cas les plus critiques. Je ferai d'abord une liste complète, on verra comment limiter ensuite (idem pour les 2 premiers états (eFauxDefauts et eVraisDefauts).
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #67
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Un truc comme ça ?



    et


    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #68
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Avant de te lancer dans la programmation, je te prie d'attendre un petit peu. Je suis entrain de rédiger un document qui fait la synthèse de tout ce qu'on s'est dit jusqu'à maintenant et j'y ai ajouté quelques détails en plus afin que tu puisse bien comprendre et bien cerner la problématique

  9. #69
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Ce n'est pas exactement ça mais ça s'en approche. Tu verra dans le fichier que je vais t'envoyer tout à l'heure. Ce que tu m'a envoyé se rapproche beaucoup de la partie "Analyse - Pour chaque boitier".

    Pour ton info:
    En réalité, un boitier est utilisé par plusieurs composant, sur plusieurs produits.

    Je détaillerais ce point dans le fichier.

  10. #70
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Voilà je viens avec le fichier en question.
    Je te l'envoie en format .pdf et .docx (Afin que tu puisse le modifier, d'une autre couleur, si jamais tu veux ajouter quelques chose ou corriger autre chose).
    Une fois lu, renvoie le moi, on en discutera.
    Je pense qu'avant de te lancer dans la programmation il vaut mieux prendre le temps de bien définir les choses. Cela nous permettra de fournir un travail de meilleur qualité.

    N.B.: Je serai dispo sur le forum ce soir alors si jamais..

    PDF: Pièce jointe 184336
    WORD:Pièce jointe 184337

  11. #71
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,


    Mes remarques

    3 machines
    Il faudrait donc que les fichiers à traiter aient une adresse de la forme :

    Chemin de la db\Donnees\Machine1\aaaammjj.stat
    Chemin de la db\Donnees\Machine2\aaaammjj.stat
    Chemin de la db\Donnees\Machine3\aaaammjj.stat


    Il faut recréer une tâche planifiée qui elle lancera Access pour réaliser l’importation des données...
    Je vais prévoir une macro AutoExec qui fait l’importation. Il suffira donc que l’on déclenche l’ouverture de la db pour que celle-ci se mette à jour.

    Pour la durée de l'import, il faut tabler sur une durée de 1 min par fichier volumineux. Donc largement en dessous du quart d'heure, même si on importe d'un coup tous les fichiers d'un week-end.


    Nouvelles notions

    Dans tPanneau, il faut ajouter une colonne NumMachine.
    Dans tErreur, il faut ajouter une colonne Typologie.
    Quid notion d’algorithme ?


    Les notions de « Typologie » et « Algorithme » sont-elles déjà contenues dans le fichier .stat ?
    Si oui, où ?
    Si non, explique.



    Démarche d'analyse


    J'ai compris.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #72
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Il faudrait donc que les fichiers à traiter aient une adresse de la forme :

    Chemin de la db\Donnees\Machine1\aaaammjj.stat
    Chemin de la db\Donnees\Machine2\aaaammjj.stat
    Chemin de la db\Donnees\Machine3\aaaammjj.stat
    Les chemins des fichiers que génére la machine sont de la forme:
    C:\Viscom\Project\Rep\Data\PPM (en local)
    Mais on peut joindre la machine via le réseau avec:
    \\TAMDREPARA1/ (pour la machine 1)
    \\TAMDREPARA2/ (pour la machine 2)
    \\TAMDREPARA3/ (pour la machine 3)

    Exemple:
    Donc pour la machine 1 : \\TAMDREPARA1/ C:\Viscom\Project\Rep\Data\PPM
    On peut même pointer directement sur C:\Viscom\Project\Rep\Data\PPM avec l'adresse \\TAMDREPARA1/
    Par conséquent le chemin de la machine 1 se résumera à \\TAMDREPARA1/

    Je vais prévoir une macro AutoExec qui fait l’importation. Il suffira donc que l’on déclenche l’ouverture de la db pour que celle-ci se mette à jour.

    Pour la durée de l'import, il faut tabler sur une durée de 1 min par fichier volumineux. Donc largement en dessous du quart d'heure, même si on importe d'un coup tous les fichiers d'un week-end.
    Si on veut ouvrir la base sans pour autant lancer l'importation cela sera possible ?
    J'avais commencer à réfléchir au .bat, il pourrait ressembler à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    *Montage du disque distant pour la machine1
    net use X: \\TAMDREPARA1\C:\Viscom\Project\Rep\Data\PPM
     
    Start /WAIT msaccess.exe "Chemin où se trouvera la base\NomDeLaBDD.accdb" /x NomDeLaMacroAExecuter
    Le fait de monter un disque par machine pourra éventuellement simplifier le code de la macro ??..?...?

    Ne pas oublier que l'importation d'un fichier est multiplié par 3, car on est en présence de 3 machines.

    Dans tPanneau, il faut ajouter une colonne NumMachine.
    Dans tErreur, il faut ajouter une colonne Typologie.
    Quid notion d’algorithme ?


    Les notions de « Typologie » et « Algorithme » sont-elles déjà contenues dans le fichier .stat ?
    Si oui, où ?
    Si non, explique.
    Oui pour NumMachine
    Oui pour Typologie

    La notion Typologie de défaut comme je l'explique c'est un paramètre qui permettra de définir la nature du défaut, c'est une notion qui sera présente seulement pour les vrai défaut, actuellement elle n'est pas présente dans les fichiers .stat, mais le sera courant semaine prochaine. Les fournisseurs de la machine vont intervenir sur les machines pour ajouter ce paramètre. Il est préférable de prévoir ce champ dans la base dés a présent mais on ne pourra pas encore l'importer.
    La notion d'algorithme fait référence au champ "Fenetre" déjà présent dans la base. Je n'ai pas utilisé le bon terme, désolé. C'est grâce à la fenêtre qu'on peut identifier l'algorithme en cause du défaut.



    Concernant la structure de la base, change-t-elle pour permettre les analyses dont je te parle dans le fichier ?

    - Va-t-on pouvoir différencier les vrais des faux défauts dans deux tables distincte? pour ensuite faciliter les analyses ? Sachant que pour les vrai défauts un nouveau paramètre (Typologie) sera présent.
    - Va-t-on pouvoir faire des analyse sur les boitier, ce qui peut induire la création d'une table Boitiers qui fait référence au composant dans la table erreur
    - Va-t-on pouvoir faire des analyse sur les fenêtre, ce qui peut induire la création d'une table Fenetres qui fait référence au boitier(a confirmer dans la matinée) dans la table erreur

  13. #73
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Les chemins des fichiers que génère la machine sont de la forme:
    C:\Viscom\Project\Rep\Data\PPM (en local)
    Mais on peut joindre la machine via le réseau avec:
    \\TAMDREPARA1/ (pour la machine 1)
    \\TAMDREPARA2/ (pour la machine 2)
    \\TAMDREPARA3/ (pour la machine 3)

    Exemple:
    Donc pour la machine 1 : \\TAMDREPARA1/ C:\Viscom\Project\Rep\Data\PPM
    On peut même pointer directement sur C:\Viscom\Project\Rep\Data\PPM avec l'adresse \\TAMDREPARA1/
    Par conséquent le chemin de la machine 1 se résumera à \\TAMDREPARA1/
    Je ne comprends pas tout (je ne suis pas informaticien !)
    Pour les tests, je prévoirai la structure

    Chemin de la db\Donnees\Machine1\aaaammjj.stat
    Chemin de la db\Donnees\Machine2\aaaammjj.stat
    Chemin de la db\Donnees\Machine3\aaaammjj.stat
    Et tu adapteras à ton environnement.


    Si on veut ouvrir la base sans pour autant lancer l'importation cela sera possible ?
    La macro se déclenchera, mais sans conséquence, car une fois traité, le fichier a changé d’extension stat ==> txt.


    J'avais commencé à réfléchir au .bat, il pourrait ressembler à ça :
    Beyond of my competence !


    La notion Typologie de défaut… c'est une notion qui sera présente seulement pour les vrais défauts, actuellement elle n'est pas présente dans les fichiers .stat, mais le sera courant semaine prochaine.
    OK, informe-moi quand tu as le nouveau dessin de .stat.


    La notion d'algorithme fait référence au champ "Fenetre" déjà présent dans la base. Je n'ai pas utilisé le bon terme,
    Pas de souci. Je vais modifier le nom de la colonne.
    Regarde si les autres noms actuels sont suffisamment parlants.


    Concernant la structure de la base, change-t-elle pour permettre les analyses dont je te parle dans le fichier
    A priori non.


    - Va-t-on pouvoir différencier les vrais des faux défauts dans deux tables distinctes ? Pour ensuite faciliter les analyses ? Sachant que pour les vrais défauts un nouveau paramètre (Typologie) sera présent.
    La structure actuelle suffit, pas besoin de table supplémentaire.
    Je suppose que dans le fichier .stat, pour les faux défauts, il y aura aussi une Typologie, mais non significative : des zéros par exemple.

    - Va-t-on pouvoir faire des analyses sur les boitiers, ce qui peut induire la création d'une table Boitiers qui fait référence au composant dans la table erreur
    - Va-t-on pouvoir faire des analyses sur les fenêtres, ce qui peut induire la création d'une table Fenetres qui fait référence au boitier(à confirmer dans la matinée) dans la table erreur
    Ces notions (Algorithme et Boitier) sont déjà présentes dans les tables actuelles, donc pas de souci !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  14. #74
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Je ne comprends pas tout (je ne suis pas informaticien !)
    Pour les tests, je prévoirai la structure

    Chemin de la db\Donnees\Machine1\aaaammjj.stat
    Chemin de la db\Donnees\Machine2\aaaammjj.stat
    Chemin de la db\Donnees\Machine3\aaaammjj.stat
    Et tu adapteras à ton environnement.


    Beyond of my competence !
    Pas de problème, j'adapterai.

    OK, informe-moi quand tu as le nouveau dessin de .stat.
    ok

    Pas de souci. Je vais modifier le nom de la colonne.
    Regarde si les autres noms actuels sont suffisamment parlants.
    Tu peux garder comme nom de champ "fenetre" cela convient très bien. Pour les autres champs tout est ok.

    La structure actuelle suffit, pas besoin de table supplémentaire.
    Je suppose que dans le fichier .stat, pour les faux défauts, il y aura aussi une Typologie, mais non significative : des zéros par exemple.
    Ok si la structure actuel permet les différentes analyses.
    Dans l'état actuel des choses je ne peux pas te dire mais je ne pense pas .. Il me semble que pour les faux défaut, il n'y aura aucune valeur dans le fichier .stat


    Par rapport à la différenciation des erreurs, savoir sur quel machine (1,2 ou 3) elles ont été détectés. Cela est possible ?

    Pour l'analyse, je te confirme qu'elle se fera sur excel, on exportera donc les données dans un classeur.
    Au niveau de l'analyse, je ne sais pas encore comment procéder, au vu de la quantité de données est-ce judicieux d'effectuer une analyse mensuelle ou vaut-il mieux l’effectuer hebdomadairement en alimentant le classeur? Sachant que l'analyse doit se faire par mois, autrement dit, les données statistique doivent être relatives au mois.
    Exemple: 521 défaut "manque de soudure" sur le produit XXX pour le mois de juin.

    Que me conseilles-tu ?

  15. #75
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Dans l'état actuel des choses je ne peux pas te dire mais je ne pense pas .. Il me semble que pour les faux défauts, il n'y aura aucune valeur dans le fichier .stat
    Ça compliquerait la programmation si la structure de l'enregistrement d'erreur (celui qui commence par le composant) était différente selon que le défaut est vrai ou faux (sauf si cette notion est logée à la droite du contenu actuel).

    Par rapport à la différenciation des erreurs, savoir sur quelle machine (1,2 ou 3) elles ont été détectées. Cela est possible ?
    Sans problème, c'est dans la db.

    Pour l'analyse, je te confirme qu'elle se fera sur Excel, on exportera donc les données dans un classeur.
    Au niveau de l'analyse, je ne sais pas encore comment procéder, au vu de la quantité de données est-ce judicieux d'effectuer une analyse mensuelle ou vaut-il mieux l’effectuer hebdomadairement en alimentant le classeur? Sachant que l'analyse doit se faire par mois, autrement dit, les données statistiques doivent être relatives au mois.
    Exemple: 521 défauts "manque de soudure" sur le produit XXX pour le mois de juin.

    Que me conseilles-tu ?
    C'est trop tôt, pour avoir un avis. Occupons-nous d'abord de récolter et structurer les infos des fichiers .stat.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #76
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Ça compliquerait la programmation si la structure de l'enregistrement d'erreur (celui qui commence par le composant) était différente selon que le défaut est vrai ou faux (sauf si cette notion est logée à la droite du contenu actuel).
    Je ne veux pas te dire de bêtise, alors je vais pas trop m'avancer, mais je peux dire que enregistrement dans .stat commencera dans les deux cas par le composant, après connaitre avec certitude a quel endroit dans l'enregistrement d'un vrai défaut, sera positionné la valeur "typologie" c'est dur a dire. Dans la semaine pro je pourrais te le dire mais actuellement impossible.

    C'est trop tôt, pour avoir un avis. Occupons-nous d'abord de récolter et structurer les infos des fichiers .stat.
    Oui tu as raison, chaque chose en son temps.




    J'avais une question concernant ton code, a quel moment fais tu la concaténation des deux paramètres dans .stat pour obtenir le champ "Fenetre" ?
    Je pense que c'est ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & """" & tbl(2) & tbl(3) & """ As Expr8, " _
    Peux-tu confirmer ?
    Et me donner les valeurs que prennent de tbl(2) et de tbl(3), pour un instant t lors d'une importation afin que je puisse comprendre à quoi correspondent ces deux variables (tbl(2) et tbl(3)) dans un fichier .stat ? Merci.

  17. #77
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    C'est effectivement ce que tu montres.

    Quand les choses se seront stabilisées, je ferai un papier pour expliquer le code.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  18. #78
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    D'accord parfait.
    Si par exemple je décide dans le futur de ne récupérer que tbl(2) ou tbl(3) cela poserai problème ?

  19. #79
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bof, un petit coup de pinceau... Il y aura sans doute pire !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  20. #80
    Membre du Club
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Points : 42
    Points
    42
    Par défaut
    Bonjour Claude,

    Je me suis essayé aux requêtes Access, rien d'impressionnant mais ça m'a permis d'y voir un peu plus clair et j'espère que ça t'aidera aussi à comprendre un peu plus le but de cette base.

    Sur l'image ci-joint, tu peux voir deux graphes, l'un représente le nombre de faux défauts / produits, l'autre les vrais défauts / produits

    Je t'envoie vers un lien Cjoint pour l'image, car l'outil "gérer les pièces jointes" est saturé par mes fichiers, et je n'arrive pas à supprimer.

    IMAGE: http://www.cjoint.com/c/EHdlPUjvLZM

    Le problème ici, c'est que pour différencier mes faux défauts (5, 99, 600), des vrais (2,4,7), je suis obligé de créer deux graphes.
    Ce serait beaucoup plus simple, lors de l'ajout de différencier une ligne qui correspond à un faux défauts et une ligne à un vrai. On pourrait voir par produit le nombre de faux défauts qu'il a par rapport aux vrais.
    Et ça serait beaucoup plus explicite dans la base de parler de faux et de vrais défauts, plutôt que de parler d'erreur n° 2, 4, 7, 5, 99, 600.

    Enfin bon, c'est juste une piste d'amélioration dont je te fais part tout simplement.

Discussions similaires

  1. Créer une base de données multidimensionnelle pour analyse OLAP
    Par Borowsky dans le forum Conception/Modélisation
    Réponses: 6
    Dernier message: 12/01/2010, 13h26
  2. Comment créer une base de donnée Access ?
    Par Soulama dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/10/2005, 15h56
  3. Créer une base Access avec Delphi
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/10/2005, 17h55
  4. créer une base de donnée à partir d'un script
    Par illegalsene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/08/2005, 15h08
  5. [débutant] Comment créer une base ?
    Par laffreuxthomas dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/12/2004, 23h12

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