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

Access Discussion :

Gérer une Matrice d'interdépendance


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur aeronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Gérer une Matrice d'interdépendance
    Bonjour à toutes et tous,

    Voilà je débute sous Access et je souhaite pour mon projet développer une petite base de donnée.

    Un des points sur lequel je m'interroge est la gestion des matrices d'interdépendances.
    Je m'explique :
    J'ai une liste de plan (champ PartNumber) dans une table (T_BOM) et j'ai une liste de données d'entrées du client dans une autre table (T_Input)
    Et je souhaite aussi avoir un matrice d'interdépendance entre les PartNumber et les input pour remplir le % d'intégration de ces inputs dans mes plans.

    En PJ un fichier excel avec les 2 tables et la matrice d'interdépendance que je souhaite aussi avoir pour éclairer mes propos (là je n'ai mis que quelques plans et quelques Input mais j'ai des milliers de plans et des dizaines d'input dans la réalité)

    Merci d'avance pour vos commentaires/ votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonjour,

    Je vois à peut prêt ou tu veux en venir, ça ressemble à une requête d'analyse croisée. Par contre je ne vois pas la relation entre T_BOM et T_INPUT.

    Cordialement,

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur aeronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Salut,

    T_BOM et T_Input n'ont rien en commun mais par contre la matrice d'interdépendance à "en ligne" les numéro de PartNumber qui viennent de T_BOM et "en colonne" les InputName de T_Input

    Quant au requête croisée, il me semblait que c'était uniquement pour croisée des données, là je voudrais pouvoir rentrer des %

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Peux-tu indiquer comment tu calcules ce pourcentage ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur aeronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Ce pourcentage n'est pas calculé, il est rentré par les utilisateurs (c'est pour cela que la requête croisée ne marche pas (de ma compréhension de débutant sur ce qu'est une requête croisée )

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    On peut toujours tenter de gruger une RAC pour qu'elle n'affiche rien au intersection.

    Par contre on ne peut rien saisir dans ce type de requête, comme la plupart de requête retournant des tuples, il faut la transformer en requête "création de table", puis créer un formulaire de saisie avec comme source cette nouvelle table qui sera créée.

    Pas simple tout ça.

    Je vais regarder comment on peut tenter de la gruger.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur aeronautique
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur aeronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    C'est ce que j'imaginais.
    Au départ je pensais créer une 3eme table T_Matrix_Interdependance et via macro à chaque création d'un enregistrement dans la table T_Input, je rajoute un champ dans la table T_Matrix_Interdependance .

    Mais ne connaissant pas bien Access (les macros oui) je voulais vérifier si ce n'était pas faisable sans passer par macro.

    La réponse à l'air d'être non

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    On utilise de moins en moins les macros ou VBA DAO pour créer des champs, on préfère passer par SQL (CREATE TABLE, INSERT INTO).
    Mais oui tu peux.

    Par contre le nombre de champs est limités, ça peut être problématique.

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonsoir,

    Vu le type de création à faire il vaut mieux passer par DAO que par SQL.

    Donc :
    Voici une RAC qui fait exactement ce que tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM "" AS valeur
    SELECT T_BOM.PN
    FROM T_BOM, T_INPUT
    GROUP BY T_BOM.PN
    PIVOT T_INPUT.Input_Name;
    Une fois que cette requête est enregistrée sous le nom "RsourceRAC" tu joues ce code qui va créer la table avec les bonnes longueurs de champs.

    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
    Function CreateInter()
     
    Dim db As DAO.Database
    Dim qry As DAO.QueryDef
    Dim fld As DAO.Field
    Dim newtbl As DAO.TableDef
    Dim newfld As DAO.Field
     
    Set db = CurrentDb
    Set qry = db.QueryDefs("rSourceRac")
    Set newtbl = db.CreateTableDef("tInter")
    For Each fld In qry.Fields
        If fld.Name = "PN" Then
           newtbl.Fields.Append newtbl.CreateField(fld.Name, dbText, 6)
        Else
           newtbl.Fields.Append newtbl.CreateField(fld.Name, dbText, 20)
        End If
    Next
     
    db.TableDefs.Append newtbl
    db.TableDefs.Refresh
    Set fld = Nothing
    Set qry = Nothing
    db.Close
    Set db = Nothing
     
    End Function
    Il ne te reste qu'à créer la requête "insert" pour transférer tes PN.

    Attention aux limites du nombre de champs par table et la limite de taille d'un enregistrement. (F1 >> limitation)

    Cordialement,

Discussions similaires

  1. Coder une classe pour gérer les matrices
    Par TrexXx dans le forum Débuter
    Réponses: 2
    Dernier message: 11/02/2009, 13h22
  2. [dbase] Possibilité de gèrer une base via c++?
    Par WriteLN dans le forum C++
    Réponses: 6
    Dernier message: 08/11/2004, 17h27
  3. Gérer une barre d'outils
    Par Jean Claude BOULET dans le forum Access
    Réponses: 2
    Dernier message: 07/10/2004, 22h54
  4. [ODBC][WINDOWS] gérer une base via ODBC
    Par narmataru dans le forum Windows
    Réponses: 2
    Dernier message: 19/12/2003, 13h36
  5. Déclarer une matrice
    Par joy dans le forum C
    Réponses: 7
    Dernier message: 09/12/2002, 00h42

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