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. #161
    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 reviens sur un message d'erreur rencontré lors des importations de fichier .stat
    j'ai trouvé la solution au problème.
    Lorsque l'on fait une "grosse" importation de fichiers, la base prend du volume assez rapidement.

    Nom : bddsat.PNG
Affichages : 190
Taille : 7,8 Ko

    L'idée ici est de fermer et de rouvrir la base de données afin qu'elle puisse effectuer le compactage des données.Il serait intéressant d'effectuer cette manip après avoir parcouru chaque répertoire (machine1, machine2...), représentant chaque machine. Ainsi la bade compactera ses données au fur et a mesure et ça permettra de ne pas saturer la base et d'éviter ce genre de message:

    Nom : msgerr.PNG
Affichages : 180
Taille : 22,1 Ko

    Dans notre cas il est inutile d'effectuer ces manip, car les importations se feront quotidiennement donc on importe au max entre 3 et 6 fichiers à chaque fois, autrement dit, rien d’extraordinaire pour la bdd.

  2. #162
    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,

    Dans notre cas il est inutile d'effectuer ces manip, car les importations se feront quotidiennement
    Donc tout baigne !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #163
    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
    C'était seulement à titre d'informations.
    Donc oui tout baigne !

  4. #164
    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
    J'ai repéré à nouveau le léger problème au niveau des correspondance des quantités de défauts... (Cf image ci-après)

    Nom : capt9.PNG
Affichages : 234
Taille : 37,4 Ko

  5. #165
    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
    C'était une erreur dans mon code.

    Elle est maintenant corrigée... en attendant les autres...

    Nouvelle version : http://claudeleloup.developpez.com/&99/Iliaseyah.mdb
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #166
    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
    Ok je vais checker ça.
    Il me semble que tu rédige un document sur la création de cette base, j'aimerais bien en prendre connaissance pour comprendre dans le détail le fonctionnement de celle-ci.
    Peux-tu me transmettre le lien vers ce document ?

  7. #167
    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 me semble que tu rédige un document sur la création de cette base, j'aimerais bien en prendre connaissance pour comprendre dans le détail le fonctionnement de celle-ci.
    C'est en effet mon intention, mais je n'ai pas encore commencé : j'attends que la situation de cette base soit stabilisée et que la météo soit moins propice au vélo !

    Quoi qu'il en soit, ce document sera rendu public. Je l'annoncerai dans cette discussion.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #168
    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
    Profite de ton temps libre pour t'adonner au plaisir de la bicyclette.
    Il n'y a rien de mieux qu'une bonne balade à vélo! La région savoyarde se prête parfaitement à cette activité.
    Bonne journée !

  9. #169
    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 viens vers toi pour te faire part d'un petit détail qui me semble intéressant.
    Si c'est simple à mettre en place je me disais qu'éventuellement on pourrait avoir une info supplémentaire sur les formulaires et vrais et des fausses erreurs.

    Nom : FE.PNG
Affichages : 195
Taille : 13,0 Ko

    Dans l'ellipse rouge on pourrait peut être avoir le poids de fausses erreurs en pourcentage par rapport au nombres d'erreurs totales (pareil pour les vraies erreurs). Ainsi d'un simple coup d’œil on aurait l'info, et on pourra donc évaluer l'importance des vraies et des fausses erreurs, les unes par rapport aux autres ..??.

    Enfin c'est juste un détail, si ça risque de prendre du temps, oublions....!!
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    En revanche je reviens sur un point que nous avions abordé au début de la discussion. C'était au sujet d'un document synthétisant les données de cette base de manière visuel (graphique), un petit schéma que vous trouverez dans le document joint à ce message.
    Au vu de la quantité et de la qualité des données que nous récupérons dans cette base je pense qu'il serait intéressant de pouvoir synthétisé ces données dans un fichiers excel.

    Pourquoi?
    -Cela permettrait d'avoir une trace des données, après avoir purger la base ("archivage")
    -Pour des utilisateurs lambda , il est difficile de naviguer dans Access et de tirer des conclusions sur les informations que peuvent retournées les données de cette base, alors qu'un fichier excel est un peu plus accessible.
    -Le fait de traduire des données "brut" en tableau et graphique permet de mieux visualiser ces infos. (management visuel)

    Comment?
    Le document ci-joint a été rédigé grâce à des informations saisie manuellement sur une années.
    Ce fichiers est composé de trois feuilles:
    Nom : feuilles.PNG
Affichages : 152
Taille : 3,4 Ko

    et une cachée qui me sert de source de données:
    Nom : listedef.PNG
Affichages : 161
Taille : 4,6 Ko

    J'ai ajouté des bulles d'informations dans le documents afin qu'on puisse faire le lien entre les données de ce fichiers et celles de la base
    J'imaginais donc pouvoir effectuer une exportation des données par période (dans le même principe que la purge), et alimenter le fichier excel avec ces données exportées chaque mois comme dans le modèle ci-joint. Lorsque les données ce rapportant au mois sont exportés alors l'utilisateur peut soulager la base de données en purgeant les données exportées.
    L'option de pouvoir soit créer un nouveau fichier excel et d'y exporter les données ou pouvoir exporter les données vers un fichier excel déjà existant est un plus.

    Fichier excel: Synthese_qualite.zip

  10. #170
    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,

    Pour le petit détail

    Quelles formules ?

    % Fausses erreurs : Nbre d'erreurs 2,4 et 7 divisé par le nbre d'enregistrements dans tErreurs ?


    % Vraies erreurs : Nbre d'erreurs de type 1xx divisé par le nbre d'enregistrements dans tErreurs ?

    Quid des périodes ?

    Tous les enregistrements actuellement dans la base, toutes dates confondues ?

    Pour le gros morceau

    Pourrais-tu concevoir le fichier Excel que tu montres, en ajoutant une feuille « Données de base » ?
    Et modifier les feuilles actuelles de manière à ce qu’elles puisent leurs données par référence à cette nouvelle feuille.
    L’interfaçage LaBaseAccess/LeFichierExcel consisterait alors à alimenter périodiquement la feuille « Données de base ».
    Une telle approche ramènerait le problème à une « taille humaine ».
    Sinon, on va droit vers l'usine à gaz et ce sera impossible à faire évoluer.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #171
    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,

    Pour le petit détail

    Quelles formules ?

    % Fausses erreurs : Nbre d'erreurs 2,4 et 7 divisé par le nbre d'enregistrements dans tErreurs ?
    Oui c'est ça. Pour la période, je voyais ça de manière globale, donc sur toutes les données de la base. Cela permet d'avoir une idée générale.

    % Vraies erreurs : Nbre d'erreurs de type 1xx divisé par le nbre d'enregistrements dans tErreurs ?
    C'est en parti juste, je rajouterai en plus des erreurs de type 1xx, les erreurs de type 6xx. Au niveau de la période je dirais sur toute la base également.

    --> Peut-on avoir le ratio Nbe de fausses erreurs/ Nbe de vraies erreurs ?

    Pour le gros morceau

    Pourrais-tu concevoir le fichier Excel que tu montres, en ajoutant une feuille « Données de base » ?
    Et modifier les feuilles actuelles de manière à ce qu’elles puisent leurs données par référence à cette nouvelle feuille.
    L’interfaçage LaBaseAccess/LeFichierExcel consisterait alors à alimenter périodiquement la feuille « Données de base ».
    Une telle approche ramènerait le problème à une « taille humaine ».
    Sinon, on va droit vers l'usine à gaz et ce sera impossible à faire évoluer.
    Je vais essayer de modifier le fichier excel pour qu'il puise dans les données de la base via la feuille « Données de base », J'ai un peu de mal pour déterminer comment je vais extraire les données de la base, mais je vais bosser dessus.

    Je ne comprend pas très bien ta remarque:
    Une telle approche ramènerait le problème à une « taille humaine ».
    veux-tu dire par là que le nombre de données sera trop important ?

    Si c'est ça le problème, j'imaginais mettre en place une méthode d'archivage par mois si il le faut. On enregistre-sous le fichier excel chaque mois sous un nom explicite "DonnesQualiteAvril.xls","DonnesQualiteMai.xls"... Puis on le vide manuellement pour faire de la place au futur données...

  12. #172
    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
    Ne sachant pas comment opérer, j'ai créé une requête en indiquant comme critère que je ne voulais que les données d'aout.
    J'ai ensuite choisi les champs que je désirais visualiser.
    Une fois la requête créée je l'ai exporté sous excel dans mon fichier.

    J'ai ensuite généré un tcd à partir de ces données. Cela convient assez bien, bien-sur il faudra créer d'autre TCD ... Le seul "soucis" c'est que j'ai procédé manuellement. Même si les manip que j'ai effectué sont triviale, je ne pense pas que ce soit à la porté d'un "analyste qualité" ..

    Le gestionnaire de pièce jointe a du mal. Désolé de passer par CJOINT
    Fichier: http://www.cjoint.com/c/EHBizmjfKFM

  13. #173
    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
    les erreurs de type 6xx
    Je voulais dire les erreurs mentionnées dans la tTypoErreurs. C’est quoi les erreurs de type 6xx ?

    veux-tu dire par là que le nombre de données sera trop important ?
    Non, je voulais dire qu’écrire le programme Access capable d’alimenter le fichier Excel actuel que tu montres dépassait les capacités intellectuelles d’un « être humain normal ». (Du moins à mon échelle !)

    Le seul "souci" c'est que j'ai procédé manuellement. Même si les manip que j'ai effectuées sont triviales, je ne pense pas que ce soit à la portée d'un "analyste qualité".
    On pourrait envisager une fonction qui aurait comme paramètres :
    le nom d’une requête ;
    le nom d’un fichier Excel.
    Ainsi, on pourrait indiquer ces 2 paramètres dans un formulaire et d’un clic extraire les données pour les exporter dans Excel.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  14. #174
    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
    re

    Je voulais dire les erreurs mentionnées dans la tTypoErreurs. C’est quoi les erreurs de type 6xx ?
    Oui, à ce sujet j'ai oublié de te dire que j'avais modifié la table " tTypoErreurs". Les erreurs type 6xx sont similaires aux erreurs type 1xx. Les défauts que la machines détectent peuvent soit être validé individuellement par l'opérateur, soit validé par groupe(lorsque les défauts sont similaires on peut les groupés). Lorsqu'ils sont validés individuellement tu as une erreur type 1xx, mais quand on les valide par groupe ils prennent cette forme 6xx.
    D'ou ma modification de la table ttypoerreurs:

    Nom : typo.PNG
Affichages : 265
Taille : 35,9 Ko

    Non, je voulais dire qu’écrire le programme Access capable d’alimenter le fichier Excel actuel que tu montres dépassait les capacités intellectuelles d’un « être humain normal ».
    Ah je vois. Même si on trouve une petite combine ? je veux dire par la, que le fait d'alimenter le fichier excel c'est la création d'une requête qu'on exporte, je m'explique:
    Dans la base actuelle des requête sont créées puis le résultat de celles-ci est affiché dans le formulaire, une fois affiché ne peut-on pas reprendre ces requêtes et les exporté vers un fichier excel ?
    Exemple:

    Nom : exportrequete.PNG
Affichages : 185
Taille : 68,3 Ko

    J'ai trouvé un code qui pourrait convenir, j'essaye de le comprendre en m'appuyant sur les infos que j'ai trouvé sur ce lien :

    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
    Private Sub TransfertExportExcel_Click() 
    Dim xlapp As Object 
    Dim acapp As Object 
    Dim query As Object 
    Dim XLCnx As ADODB.Connection
    Dim XLRst As ADODB.Recordset
    Dim monClasseur As String
    Dim maFeuille As String
     
    On Error Resume Next
     
    monClasseur = "chemin"  'Ton chemin d'accès (ex: C:\Temp\MonClasseur.xls)
    MaFeuille = "absences"
     
    Set xlapp = CreateObject("Excel.Application") 
    Set acapp = CurrentDb() 
    Set query = acapp.OpenRecordset("export_absences") 
     
    'Connection au classeur Excel
        Set XLCnx = New ADODB.Connection
        XLCnx.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                       "Data Source=" & NomClasseur & ";" & _
                       "Extended Properties=""Excel 8.0;HDR=NO;"""
     
    'Ouverture du recordset
    Set XLRst = New ADODB.Recordset
        XLRst.Open "Select * from " & maFeuille, XLCnx, adOpenKeyset, adLockOptimistic
     
        'transfert les données Access vers le classeur Excel
        Do While Not (query .EOF)
                XLRst.AddNew
                    For j = 0 To XLRst.Fields.Count - 1
                        XLRst.Fields(j) = query.Fields(j).Value
                    Next j
                XLRst.Update
                query.MoveNext
        Loop
     
    XLCnx.Close
    XLRst.Close
    query.Close
     
    Set xlapp = Nothing 
    Set acapp = Nothing
    Set query = Nothing
    Set XLCnx = Noting
    Set XLRst = Nothing
     
    If Err.Number <> 0 Then
       MsgBox Err.Number & " - " & Err.Description, vbCritical, "Erreur !!!"
    Else
       MsgBox "export réalisé avec succès =)", vbInformation, "" 
    End If
     
     End Sub
    Certes ce n'est pas une solution automatisé à 100%, il est probable qu'on est à indiquer le fichier vers lequel on veut exporter la requête. Il est possible aussi qu'une fois la requête exporté on devra encore la travailler. Mais je pense que c'est déjà convenable.
    Dans l'exemple je cite le "TPD par semaine" mais pourquoi pas faire ça avec les Pareto des boitier le plus en défaut par produit, des produits les plus en défauts par période (déjà en place "Faux défaut par produits")...
    J'ai même pensé à une requête "flexible", via un formulaire agir sur 3 critères (la période, la machine, le produit) créer une requête qui retourne le détail des défauts en corrélation avec ces critère préalablement défini. Cf citations ci-dessous


    On pourrait envisager une fonction qui aurait comme paramètres :
    le nom d’une requête ;
    le nom d’un fichier Excel.
    Ainsi, on pourrait indiquer ces 2 paramètres dans un formulaire et d’un clic extraire les données pour les exporter dans Excel.
    J'ai vu cette remarque qu'après avoir fais mes explication au dessus. Mais c'est exactement ou je veux en venir. J'ai trouvé un tutoriel que tu as créé, c'est dans le même état d'esprit, sauf que dans notre cas on se focalise plus sur de la sélection que de la modification ou de la suppression.

  15. #175
    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
    Fais une liste pour me faire comprendre le genre de requêtes qu'il serait intéressant d'exporter vers Excel
    - systématiquement tous les mois
    - à la demande en raison d'événements particuliers.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #176
    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
    Ok, je m'occupe de ça cet après midi.
    -Des requêtes standards
    -Des requêtes ajustés en fonction..

    ok ok

  17. #177
    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,

    Alors voilà après réflexion j'ai dressé une petite liste des analyses "standards" et des analyse " à la demande"

    Tout d’abord tu trouvera la base en pièce jointe, j'ai effectuer des modifications:
    -Suppression de "faux défaut par panneau" dans fAnalyses, cela à créé un léger bug à l'ouverture de fAnalyses, malgré la suppression de cette requête il affiche quand même un résultat (vide).
    -Modification du nom de certain boutons dans fAnalyses
    -Modification du nom de certains boutons dans fMenu
    -Modification des titres des formulaires fVraiesErreurs et fFaussesErreurs

    Analyses standards à ajouter:
    Petite vérification: Est ce que "% de faux défauts par boitier" est calculé par rapport à la quantité totale d'erreur retournées par le boitier en question (dans rPcFauxBoitier01, tu fais [NbreFaux]/[Nombre] mais quid de "nombre")?Si oui, on peut ajouter

    -% de faux défauts par produits (sur la même base que % de faux défauts par boitier) sur la période choisi
    -% de faux défauts par machine (Pour chaque machine calculé le nombre d'erreur 2,4 ou 7 par rapport au nombre total d’enregistrement dans la table tErreurs pour la machine en question) sur la période choisi

    -Le TPD par période et par produits (très intéressant), cela permet pour chaque produit de visualiser sont % de TPD. Autrement c'est le top 10 des produits de meilleur qualité.


    Modification sur les analyse déjà existantes:

    -Dans un premier temps, au niveau de la gestion de ces analyses, est-il possible à coté du choix de la période avoir un choix supplémentaire plus fin (période flexible). Autrement dis en plus de pouvoir sélectionner un mois de données on peut avoir une option permettant de sélectionner une durée (du jour jj/mm/aaaa au jour jj/mm/aaaa) sans lien avec "période" déjà présent. On choisi l'un ou l'autre pour fVraiesErreurs et fFaussesErreurs si possible ?
    -Concernant le bouton "faux défauts par produit" peut-on avoir une colonne supplémentaire rappelant la moyenne, et vis versa pour "faux défaut en moyenne par panneau" avoir une colonne supplémentaire rappelant le nombre de faux défauts pour chaque produit.
    -Peut-on avoir un bouton sur le formulaire fAnalyses permettant d'extraire sous excel le résultat (quand je dis "résultat" j'entend les petits tableaux qui se trouvent sous les boutons) de tous les différents boutons ? (est ce possible du moins ?)
    -Dans la même idée avoir un bouton d'extraction pour fVraiesErreurs et fFausseErreurs

    -Pour fVraiesErreurs c'est un détail mais je pense que trier les différentes typologies de défauts par rapport à leur nombre dans l'ordre décroissant peut s'avérer intéressant.
    -Pour les 2 analyses "faux défaut par produit" et "faux défauts en moyenne par produit", pas besoin d'indiquer les machines pour chaque produits. Il faut globaliser les valeurs pour tous les produits, et peu importe la machine sur laquelle le produit est inspecté.
    -J'ajoute que pour "faux défauts en moyenne par produit" , il ne faut pas seulement calculer les moyennes pour le top 10 de "faux défaut par produit" mais pour tous les produits de la base. En effet, il se peut que des produits qui ne se trouve pas dans le top 10 de "faux défaut par produit", peuvent avoir une grosse moyenne de défauts par produits et par panneau..

    à la demande en raison d'événements particuliers:

    Je voyais bien un formulaire multicritère permettant de sectionner
    une période d'un jour à un autre (flexibilité),
    une machine,
    un produit,

    Cela retournerais la liste de défauts pour ces paramètre là
    Et pour finir pouvoir extraire sous excel cette nouvelle requête à l'aide d'un bouton.

    Base de donnée zippé, modifié (.mdb) Données Juillet/Aout : http://www.cjoint.com/c/EHCl2qtkQ1M

  18. #178
    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,

    Pour les exports vers Excel, voici un formulaire qui te permet de choisir dans la base une table ou une requête, de sélectionner les colonnes utiles à exporter
    vers un fichier « FromAccess.xls » logé dans le même répertoire que la db.

    Largement inspiré par la contribution de Christophe WARIN que vous trouver ici Permutez des éléments entre deux zones deux listes de type "Liste de valeur".

    À l’ouverture :



    Une liste de toutes les tables et requêtes de la db est proposée.

    Quand l’utilisateur a choisi un objet à transférer, il vient :




    L’utilisateur choisit alors dans la colonne de gauche les items qui l’intéressent (<CTRL + Clic> pour un choix multiple) et clique sur le bouton « > » pour basculer les items de la liste de gauche dans celle de droite. Le bouton « >> » permet de basculer tous les items.
    Si l’utilisateur se ravise, les boutons « < » et « << » ont l’effet inverse.

    Quand le choix est fait, un clic sur le bouton « Exporter » crée un fichier Excel « FromAccess.xls »







    Le code du formulaire :

    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    Option Compare Database
    Option Explicit
     
     
     
    Private Sub Form_Open(Cancel As Integer)
        Dim tbd As DAO.TableDef, qdf As DAO.QueryDef
     
        ' Alimenter la liste de ChoisissezTables
        Me.ChoisissezTable.RowSource = ""
        For Each tbd In CurrentDb.TableDefs
            If Left(tbd.Name, 4) <> "MSys" And Left(tbd.Name, 1) <> "~" Then
     
                ' les tables système ne sont pas prises en charge
                ' ni les tables supprimées ~TMP
                ' ni les requêtes source des formulaires, états et zones de liste ~sq
                ' on aligne les noms de tables, séparés par ";" dans la source de la liste modifiable
                Me.ChoisissezTable.RowSource = Me.ChoisissezTable.RowSource & tbd.Name & ";"
            End If
        Next
                ' idem pour les requêtes
        For Each qdf In CurrentDb.QueryDefs
            If Left(qdf.Name, 1) <> "~" And qdf.Name <> "rExportVersExcel" Then
               Me.ChoisissezTable.RowSource = Me.ChoisissezTable.RowSource & qdf.Name & ";"
            End If
        Next
                ' dérouler la liste
        Me.ChoisissezTable.SetFocus
        Me.ChoisissezTable.Dropdown
    End Sub
     
    Private Sub ChoisissezTable_AfterUpdate()
     
        Dim Db As DAO.Database, tbd As DAO.TableDef, fld As DAO.Field, qdf As DAO.QueryDef
        'Réinitialiser la liste de droite
        Me.lstDroite.RowSource = ""
        'Aménager la liste des champs possibles dans lstGauche
        Me.lstGauche.RowSource = ""
        Set Db = CurrentDb
        If EstCeUneTable(Me.ChoisissezTable) Then
            Set tbd = Db.TableDefs(Me.ChoisissezTable)
            'Créer la liste des colonnes
            For Each fld In tbd.Fields
                Me.lstGauche.RowSource = Me.lstGauche.RowSource & "[" & fld.Name & "];"
            Next
        Else
            ' c'est donc une requête
            Set qdf = CurrentDb.QueryDefs(Me.ActiveControl)
            'Créer la liste des colonnes
            For Each fld In qdf.Fields
                Me.lstGauche.RowSource = Me.lstGauche.RowSource & "[" & fld.Name & "];"
            Next
        End If
        Set tbd = Nothing
        Set qdf = Nothing
    End Sub
     
    Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _
                                  Optional LimiteSelection As Boolean = True)
        Dim i As Integer
        Dim strTemp As String
        With lstSource
            For i = 0 To .ListCount - 1
                'si l'élement est sélectionné dans la liste source
                If .Selected(i) Or Not LimiteSelection Then
                    lstDestination.RowSource = lstDestination.RowSource & .Column(0, i) & ";"
                Else
                    'sinon, le conserve dans la liste source
                    strTemp = strTemp & .Column(0, i) & ";"
                End If
            Next i
            'Affecte la nouvelle source à lstSource
            .RowSource = strTemp
        End With
    End Sub
    Private Sub BtExporter_Click()
        On Error GoTo GestionErreurs
        Dim sSql As String
        Dim q As QueryDef
        'Avertir qu'aucun champ n'a été sélectionné
        If Me.lstDroite.RowSource = "" Then
            MsgBox "Vous devez au moins choisir un champ !", vbCritical
            Exit Sub
        End If
        'Construction du sql de la requête
        sSql = Me.lstDroite.RowSource
        'Remplacer les ";" par des "," et supprimer la dernière virgule
        sSql = Replace(sSql, ";", ",")
        sSql = Left(sSql, Len(sSql) - 1)
        'Compléter le SQL
        sSql = "Select " & sSql & " From [" & Me.ChoisissezTable & "];"
        Debug.Print sSql
        'Adapter la requête standard à exporter
        Set q = CurrentDb.QueryDefs("rExportVersExcel")
        q.sql = sSql
        'Export vers FromAccess.xls
        'Supprimer l'ancien
        Kill CurrentProject.Path & "\FromAccess.xls"
        DoCmd.TransferSpreadsheet acExport, , "rExportVersExcel", CurrentProject.Path & "\FromAccess.xls", False
     
        Set q = Nothing
    GestionErreurs:
        Select Case Err.Number
          Case 0 'pas d'erreur
            Exit Sub
          Case 53 'le fichier Excel n'existe pas encore
            Resume Next
          Case Else
            MsgBox "Erreur dans BtExporter_Click N° " & Err.Number & " " & Err.Description
        End Select
    End Sub
     
    'Copie les élements sélectionnés vers la liste de droite
    Private Sub GaucheDroite_Click()
        TransposerElement lstGauche, lstDroite
    End Sub
    'Copie tous les élements vers la liste de droite
    Private Sub GaucheDroiteTous_Click()
        TransposerElement lstGauche, lstDroite, False
    End Sub
    'Copie les élements sélectionnés vers la liste de gauche
    Private Sub DroiteGauche_Click()
        TransposerElement lstDroite, lstGauche
    End Sub
    'Copie tous les élements vers la liste de gauche
    Private Sub DroiteGaucheTous_Click()
        TransposerElement lstDroite, lstGauche, False
    End Sub
    Et la fonction appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function EstCeUneTable(NomObjet As String) As Boolean
      Dim otbl As TableDef
      For Each otbl In CurrentDb.TableDefs
        If otbl.Name = NomObjet Then EstCeUneTable = True: Exit Function
      Next otbl
    End Function
    La db mise à jour est ici : http://claudeleloup.developpez.com/&99/Iliaseyah.mdb
    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