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. #21
    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
    La date réside dans le nom du fichier, idéalement ça serait bien de la prendre.. mais je pense que ce doit être compliqué.
    L'heure n'est pas nécessaire.
    Le N° se situant en haut a gauche de mon extrait de .stat est un N° aléatoire il n'est pas nécessaire non plus.
    Les commentaire des erreurs "pas de ménisque"... "pas de soudure" ne sont pas nécessaire TypeErreur renseigne ce champ sans problème.


    Pour le reste, oui, les données en gras permettent de récupérer ces informations.
    Je te laisse un petit fichier de doc qui permet de traduire les fichier .stat


    Doc: Pièce jointe 183626

  2. #22
    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 : 281 907
    Points
    281 907
    Par défaut
    Non, récupérer la date dans le nom du fichier n'est pas un problème.

    OK pour la compréhension du contenu du fichier .stat.

    Si tu devais rendre compte de la qualité du process de cette journée que ferais-tu comme synthèse ?

    Comment pourrais-tu juger si c'est meilleur ou moins bon par rapport à hier ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #23
    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
    Si tu as bien compris le fichier .stat je vais pouvoir rentrer un peu plus dans le détail.

    Pour les mauvaises inspections faites par la machine, il y a un champ identifié par "7" dans le fichier "static files" qui renvoie vers un tableau(juste dessous). En fonction de la valeur retourné de "-1" à "8" on détermine le type d'erreur (verte, jaune ou rouge)
    L'idée est de déterminer le pourcentage de faux défauts par rapport au vrai défauts.
    Sachant que les défauts identifié comme "vert" sont des faux défauts, ils ont été détectés par la machine mais ne représente aucun problème au niveau de la qualité du produit.

    Si on pouvait avoir un diagramme à bâton qui nous informe sur le taux de faux défauts et de vrai défauts par produits, par panneaux, par boîtier.
    L'étude des faux défauts permettra d'améliorer le programme de la machine afin qu'elle puisse, diminuer la détection de faux défauts. Par conséquent il faut connaitre les infos sur les fenêtre d'analyse pour agir au bon endroit.
    Pour les vrai défauts connaitre le pourcentage de vrais défauts par produits, par panneaux par fenêtre... pour agir là, sur des opérations de production effectué en amont..

  4. #24
    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 : 281 907
    Points
    281 907
    Par défaut
    Sur l'image du billet 19, peux-tu montrer

    le produit :

    le panneau :

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

  5. #25
    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
    Pour les panneaux ils ne sont pas représenté mais ils correspondent à un bloc, autrement dis à chaque fois que l'on a la ligne du type :
    "1652 00:04 CMS981_F1_O 000126578 399 6 4924 11 11 0" un nouveau panneau est inspecté!
    Le suivant sera composé d'un entête presque identique si il fait parti du même produit/lot..
    Exemple : "1653 00:05 CMS981_F1_O 000126578 399 6 4924 11 11 0"

    Image:

    Pièce jointe 183645

  6. #26
    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 : 281 907
    Points
    281 907
    Par défaut
    Si on pouvait avoir un diagramme à bâton qui nous informe sur le taux de faux défauts et de vrais défauts par produits, par panneaux, par boîtier.
    L'étude des faux défauts permettra d'améliorer le programme de la machine afin qu'elle puisse, diminuer la détection de faux défauts. Par conséquent il faut connaitre les infos sur les fenêtres d'analyse pour agir au bon endroit.

    Ce que je crois avoir bien compris jusqu'ici


    Pour le fichier .stat d'un jour, on peut synthétiser en ne retenant que :

    - pour chaque combinaison : Date du jour, Produit, Panneau, Boîtier
    - la somme des Faux et la somme des Vrais

    Est-ce OK ?

    Je n'ai pas compris « les fenêtres d'analyse »

    Et quid des notions Type Erreur et Opérateur ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #27
    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,

    Pour le fichier .stat d'un jour, on peut synthétiser en ne retenant que :

    - pour chaque combinaison : Date du jour, Produit, Panneau, Boîtier
    - la somme des Faux et la somme des Vrais
    Oui effectivement c'est bien ça. Sachant que pour différencier les vrais des faux défauts il faut s'appuyer sur le numéro présent juste avant le "code opérateur", la plus part du temps c'est "7" ou "4" mais parfois ce numéro peut changer en fonction du défaut que l'opérateur acquitte. Les différentes valeurs que peut prendre cet argument sont dans le fichier "statistcs files.doc"

    Je n'ai pas compris « les fenêtres d'analyse »
    Les fenêtre d'analyse font références à l'algorithme développé pour le contrôle du produit, chaque programme est unique pour l'analyse de son produit, dans ce programme il y a un certain nombre de paramétre dont la fenêtre d'analyse. Dans le fichier .stat elle est représenté par un code "MENI" ou "LAND" mais elle peut prendre d'autre valeurs, et un numéro de fenêtre se situant juste aprés "900", "201", "202".... L'idéal serait de concaténer ces deux valeur pour avoir quelque chose du genre "MENI 900", "MENI 201", "LAND 202"...

    Et quid des notions Type Erreur et Opérateur ?
    Je ne sais pas ce qu'est un "quid" ?? Mais "TypeErreur" correspond au paramètre qui défini si l'erreur est un vrai ou un faux défaut(voir ci-dessus)
    "Opérateur" permet de connaitre les initiales de l'opérateur présent sur le poste au moment de la détection du défaut.

  8. #28
    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 : 281 907
    Points
    281 907
    Par défaut
    Bonjour iliaseyah,


    « Quid » est un adverbe qui signifie : « qu’en est-il de… »
    Tu vas comprendre.

    À ma conclusion

    Pour le fichier .stat d'un jour, on peut synthétiser en ne retenant que :

    - pour chaque combinaison : Date du jour, Produit, Panneau, Boîtier
    - la somme des Faux et la somme des Vrais


    Tu réponds « Oui effectivement c'est bien ça. »

    Donc on ne tient nulle part compte des notions Type Erreur et Opérateur ni les fenêtres d'analyse.

    Et cela m’étonne d’autant plus que tu précises maintenant :
    « ...mais elle peut prendre d'autres valeurs, et un numéro de fenêtre se situant juste après "900", "201", "202".... L'idéal serait de concaténer ces deux valeurs pour avoir quelque chose du genre "MENI 900", "MENI 201", "LAND 202"... »


    D’où ma nouvelle question : qu’en est-il de ces notions ? Faut-il les ajouter à la combinaison Date du jour, Produit, Panneau, Boîtier pour agréger les Vrais/Faux ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #29
    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 voulais dire que "Oui effectivement c'est bien ça en parti" mais ce n'est pas tout à fait complet. je me suis mal fait comprendre désolé, je vais à présent faire un récapitulatif des données à récupérer.

    Et cela m’étonne d’autant plus que tu précises maintenant :
    « ...mais elle peut prendre d'autres valeurs, et un numéro de fenêtre se situant juste après "900", "201", "202".... L'idéal serait de concaténer ces deux valeurs pour avoir quelque chose du genre "MENI 900", "MENI 201", "LAND 202"... »
    Je voulais donc préciser et compléter la combinaison que tu m'as proposé

    RECAP
    Pour le fichier .stat d'un jour, on peut synthétiser en ne retenant que :

    - pour chaque combinaison : Date du jour, Produit, Panneau, Boîtier
    - la somme des Faux et la somme des Vrais
    1.

    Il faut donc ajouter Type Erreur, Opérateur et Type Fenetre à la combinaison:

    Date du jour, Produit, Panneau, Boîtier

    Type Erreur correspond au champ n°7 défini dans le fichier "Statistic Files", et permet de connaitre la nature du défaut. Si ce sont des vrais défauts (rouge) ou faux défauts(vert). Il est très rare voire jamais qu'il y est un défaut de nature (jaune).

    - la somme des Faux et la somme des Vrais
    Concernant la somme des faux et des vrais, on peut surement la retrouver à l'aide d'une requête qui ferait la somme des Type Erreur, lorsqu'ils sont égale à "7" ou à "4" et ce par produit, j'imagine donc que l'on n'est pas obligé d'entrer cette valeur dans la base en tant que "champ", dis moi si je me trompe..

    Type Fenetre correspond à la concaténation de "MENI"(champ n°4 dans Statictic Files) et "900" (champ n°5 dans Statictic Files), et permetra de retrouver dans un second temps l'algorithme en cause du défaut

    2.
    Est-il possible d'ajouter deux champs de plus à cette combinaison ? Ou risque-t-on d'avoir une trop grande combinaison ?
    Si oui, Les champs à ajouter sont le composant(Composant) et le numéro de la carte sur le panneau (Ncarte) sur laquelle le défaut à été détecté.


    Image montrant les nouveaux champs à ajouter:
    Pièce jointe 183714

    3.
    Au final on a une combinaison:
    Date du jour, Produit, Panneau, Ncarte*, Composant*, Boîtier, Type Erreur, Type Fenetre, Opérateur

    *A valider si leurs ajout est possible

    J'imagine que cette combinaison définira les champs d'un enregistrement dans la base. Est-ce le cas ?

  10. #30
    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 : 281 907
    Points
    281 907
    Par défaut
    Peux-tu vérifier que ceci résume tout ce qui précède.

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

  11. #31
    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
    Peux-tu vérifier que ceci résume tout ce qui précède.
    C'est exactement ça! Et ce coup ci j'ai absolument rien à ajouter ni à préciser!
    Très joli rendu ton image, c'est très pro!

    Après je sais pas si ça a son importance le fait que le panneau soit déclaré avant le produit ..
    Si on suit la nomenclature du plus haut niveau au plus bas on a :

    --> Produit
    ---> n Panneau
    --->n Carte (* n Panneau)
    ---> n Composant (*n Carte * n Panneau)

  12. #32
    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 : 281 907
    Points
    281 907
    Par défaut
    Après je sais pas si ça a son importance le fait que le panneau soit déclaré avant le produit
    Ça n’a pas d’importance, mais on les mettra dans l’ordre que tu dis.
    Voilà, c’est fait.


    À ce stade, je crois que le processus pourrait être le suivant pour alimenter la db.

    Les fichiers .stat sont d’abord copiés dans un sous-répertoire « Donnees » de l’application (processus batch hors Access).

    Dans l’application Access, un bouton déclenche :
    - lire le sous-répertoire « Donnees » et traiter un à un les fichiers .stat ;
    - remplacer l’extension « .stat » par « .txt » ;
    - capter la date ;
    - importer tous les enregistrements dans une table «tImportBrut » ;
    - créer un recordset avec le contenu de «tImportBrut » ;
    - créer les enregistrements avec la clé d’agrégation et les loger dans « tImport » ;
    - vidanger « tImportBrut » ;
    - passer au fichier .stat suivant jusqu’à épuisement (lorsque tous les .stat sont devenus .txt).

    Beau chalenge, surtout pour un débutant…

    À propos quel est ton niveau en Access ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #33
    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
    Comme tu l'as dis, mon niveau est débutant..Cependant je pense y arriver, je compte aussi sur la mine d'informations que peut offrir internet et les forms

    Les fichiers .stat sont d’abord copiés dans un sous-répertoire « Donnees » de l’application (processus batch hors Access).
    Pourquoi recopier mes fichiers dans un sous-répertoire? Je ne peux pas les lires directement dans le répertoire où ma machine les sauvegarde ? Qu'entends-tu par "de l'application" ?

    - importer tous les enregistrements dans une table «tImportBrut » ;
    - créer un recordset avec le contenu de «tImportBrut » ;
    - créer les enregistrements avec la clé d’agrégation et les loger dans « tImport » ;
    Pourquoi créer deux tables, ne peut-on pas importer directement les enregistrements dans "tImport" ?
    De quel type doit être le recordset ?
    Après avoir importé toutes les données, les différentes analyses de données avec création de diagramme, tableau etc. se feront-elles à partir de tImport ? Depuis Access ou Excel ?

  14. #34
    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 : 281 907
    Points
    281 907
    Par défaut
    Pourquoi recopier mes fichiers dans un sous-répertoire? Je ne peux pas les lire directement dans le répertoire où ma machine les sauvegarde ?
    Au moins deux raisons :
    - le processus sera plus rapide si le fichier à traiter se trouve dans l’environnement de la db ;
    - il va sans doute falloir renommer : à ma connaissance, dans les processus d’import, Access ne s’attend pas à recevoir une extension .stat, la liste est exhaustive :



    Pourquoi créer deux tables, ne peut-on pas importer directement les enregistrements dans "tImport" ?
    Sûrement pas et il va même falloir faire quelques acrobaties.

    Il y a 3 types d’enregistrements différents dans le fichier .stat
    - ceux qui mentionnent le produit, panneau… ;
    - ceux qui détaillent les composants ;
    - ceux qui ne servent à rien.

    De plus, les informations d’un enregistrement de tImport se trouvent réparties sur deux enregistrements de tImportBrut.

    Qu'est-ce qu’un recordset ?
    C’est un jeu d’enregistrements que l’on peut lire l’un après l’autre.

    Après avoir importé toutes les données, les différentes analyses de données avec création de diagrammes, tableaux, etc. se feront-elles à partir de tImport ?
    Oui.

    Depuis Access ou Excel ?
    A priori dans Access.
    Quoique, on peut envisager de pomper les données utiles dans Access et les repasser à Excel pour le traitement.
    C’est l’option qui avait été choisie dans cet autre tutoriel : http://claudeleloup.developpez.com/t...rface-process/
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  15. #35
    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, quand tu me dis:
    Citation Envoyé par ClaudeLELOUP Voir le message

    - importer tous les enregistrements dans une table «tImportBrut » ;
    Est ce que c'est la méthode à laquelle tu pense ?
    Phase1:
    Pièce jointe 183795

    Phase2:
    Pièce jointe 183796

    Phase3:
    Pièce jointe 183797

    Dans la phase 3 on peut voir que le paramètre définissant l’erreur se situe une fois dans une colonne, une fois dans l'autre .. Cela ne risque-t-il pas de poser problème ? En tout cas, si c'est la méthode à utiliser pour importer les données de mes fichiers .stat ?

    Je vais me lancer dans la construction de cette base, alors je sais pas si tu peux me donner quelques informations sur la construction des tables ? Par exemple, si des champs doivent être défini d'une manière particulière (clé primaire, étrangère ...) ?

  16. #36
    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 : 281 907
    Points
    281 907
    Par défaut
    Pas tout à fait.

    Dans un premier temps, il faut importer chaque ligne du fichier .stat dans un seul champ dans une table de transit (tImportBrut).

    Ensuite on crée un recordset de cette table et on analyse chaque ligne une à une.
    On se base alors sur le fait que les champs qui nous intéressent sur une ligne sont séparés par un espace.

    J’ai commencé à programmer, je te reviens un peu plus tard pour t’expliquer en détail.

    Je vais me lancer dans la construction de cette base, alors je ne sais pas si tu peux me donner quelques informations sur la construction des tables ? Par exemple, si des champs doivent être définis d'une manière particulière (clé primaire, étrangère ...) ?
    Pas de souci, je vais t’accompagner pour la construction de la db.

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

  17. #37
    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 souci, je vais t’accompagner pour la construction de la db.

    Un peu de patience...
    Merci c'est très sympa de ta part, de m'accorder de ton temps. Effectivement je suis super pressé de mettre en oeuvre tout ça. En effet j'ai hâte de voir ce que l'analyse de ces données peut nous retourner comme infos.

  18. #38
    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 : 281 907
    Points
    281 907
    Par défaut
    Pour l'import manuel voici les paramètres.









    Clic sur « Terminer » et on obtient :





    La table 20150415 se présente comme ceci :



    Constate que les champs sont séparés par un nombre variable d'espaces.

    Dans la db jointe, tu peux avoir une idée du résultat du processus d'importation dans la table cible (tInput)

    J’ai brûlé quelques étapes qui seront programmées plus tard.

    La table importée (20150724) est rebaptisée « tImputBrut ».

    Si tu cliques sur le bouton « Lancer processus », tu déclenches ce code que je viendrai expliquer plus tard (si le résultat convient) :
    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
    Public Sub AjoutInput()
      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 Produit As String
      Dim sSql As String
      Dim i As Integer
      Dim dDatejour As Date
      Dim sDateJour As String: sDateJour = "20150724"   'pour test
      DoCmd.SetWarnings False
      'Formater la date
      dDatejour = DateSerial(Left(sDateJour, 4), Mid(sDateJour, 5, 2), Right(sDateJour, 2))
      'Vidanger tInput si c'est un remake pour cette date
      DoCmd.RunSQL "DELETE DateJour FROM tInput WHERE DateJour=#" & Format(dDatejour, "mm/dd/yy") & "#;"
      Set rst = CurrentDb.OpenRecordset("tInputBrut")
      rst.MoveFirst
      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
        tbl = Split(rst(1), " ")
        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
            Panneau = tbl(0)
            Produit = tbl(2)
          Case Else       'c'est donc un enregistrement qui décrit une erreur
          Composant = Split(tbl(0), "-")
          sSql = "INSERT INTO tInput ( DateJour, Produit, Panneau, NumCarte, Composant, Boitier, Erreur, Fenetre, Operateur ) " _
                   & "SELECT #" & Format(dDatejour, "mm/dd/yy") & "# As Expr1, " _
                               & """" & Produit & """ As Expr2, " _
                               & Panneau & " AS Expr3, " _
                               & 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;"
          DoCmd.RunSQL sSql
        End Select
        rst.MoveNext
      Loop
    rst.Close
    Set rst = Nothing
    DoCmd.SetWarnings True
    End Sub
    Tu obtiens ceci dans la table résultat tInput :





    C’est cette table qui va nous servir à calculer.

    Peux-tu y faire quelques requêtes pour vérifier la vraisemblance ?
    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 !

  19. #39
    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 suis entrain d'étudier la base que tu m'as transmis, pour le peu que j'ai vu c'est bien ça... Je vais effectuer les requêtes et je te tiendrais informer à ce moment la.

    Je me demande si on ne peux pas automatiser l'importation des fichier textes via une macro, en lançant cette macro avec un batch, afin par exemple de mettre à jour la base de données tous les jours via une taches planifié windows.
    Qu'en penses-tu ?

    Ainsi chaque jour vers 00h la base se mettra à jour.

  20. #40
    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 : 281 907
    Points
    281 907
    Par défaut
    Il n'y a pas de souci pour automatiser (je te le proposais déjà au billet 32).

    Je n'ai pas commencé par cela : je voulais d'abord vérifier qu'il était possible de passer de tInputBrut à tInput.

    À partir du moment où des fichiers .stat à traiter se trouveront dans le sous-répertoire « Donnees » de l’application, le programme ira les chercher un à un pour compléter la tInput.

    À raison de 3000 lignes ajoutées par fichier .stat, il faudra sans doute prévoir une purge périodique de tInput.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

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, 12h26
  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, 14h56
  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, 16h55
  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, 14h08
  5. [débutant] Comment créer une base ?
    Par laffreuxthomas dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/12/2004, 22h12

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