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

VBA Access Discussion :

visual basic appliqué à Access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 84
    Points : 24
    Points
    24
    Par défaut visual basic appliqué à Access
    Bonjour !

    Actuellement en stage dans une société de conception de machines, je travaille temporairement à l'optimisation de la base de donnée de gestion des nomenclatures de machines.

    Je souhaite réaliser une requête sous Access (via l'interface graphique des requêtes, le langage SQL, ou le langage VB), qui face l'inventaire de toutes les nomenclatures "filles" contenues dans une nomenclature "mère". J'ai déjà réfléchi au problème mais mes connaissances limitées en programmation me mènent à vous contacter.
    Dans l'éventualité où vous pourriez m'aider, je me permets de vous présenter le contexte.

    Je dispose d'une seule table "T1" contenant 3 champs :
    la BdD est téléchargeable ici


    Les 3 champs :
    REF_1
    REF_2
    Type_de_REF_2

    La colonne REF_1 contient toute les références de nomenclatures (et sous nomenclatures) recensées à la SEROP depuis des années.
    La colonne REF_2 contient les sous références des nomenclatures REF_1
    Ces sous références enregistrées dans le champs REF_2 sont elles mêmes des nomenclatures SI le champs Type_de_REF_2 vaut "1". Si le champs Type_de_REF_2 ne vaut pas "1", ces références (REF_2) correspondent à des composants et non à des nomenclatures.

    La colonne REF_1 recense donc la totalité des références de nomenclatures "mère seule" ET "mère et fille".
    En d'autre termes, toutes les REF_2 dont le champs Type_de_REF_2 = "1" figurent aussi dans la colonne REF_1.

    Mon objectif est le suivant :
    Je souhaite recenser dans une table, toutes les sous nomenclatures appartenant à une référence de nomenclature quelconque, saisie par l'utilisateur de la Base de données.

    Plusieurs problèmes se posent à moi. Je souhaiterai que la recherche de sous nomenclatures fonctionne quelque soit la "profondeur" de l'arborescence. D'où la nécessité probable de réaliser un bouclage de la procédure de recherche de sous nomenclatures. De plus je suppose utile de créer soit une table temporaire, soit un tableau dynamique, pour stocker les références de sous nomenclatures de niveau "n", pendant l'exploration de chacune d'elles. Je ne m'exprime peut être pas très clairement mais l'objectif principal est celui décrit ci-dessus.

    Je vous remercie pour tout type d'aide que vous pourriez m'apporter.

    P.S : Toutes les références sont au format "alphanumérique" et sont peu voire pas du tout "normalisées".
    Pour l'exemple, j'ai créée une requête1 qui sélectionne toutes les références REF_2 contenues dans la référence REF_1 "879-001-900"
    Le résultat fait apparaître 9 sous références, les 3 premières étant elles même des sous références puisque leur type_de_ref_2 vaut "1". Il faudrait ré exécuter la requête sur chacune de ces 3 sous références jusqu'à n'avoir plus que des Type_de_ref_2 différents de "1", et recenser toutes les références de type "nomenclatures" parcourues.

  2. #2
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Bonjour,
    en vb, personnellement je représenterai les données sous forme "Arborescente". Pour cela, crées une classe composant et une classe nomenclature dont un des membres est une collection d'objet de la classe nomenclature et un autre qui est une classe composant. Avec ce systeme, tu geres des objets, c'est assez simple (proche de la réalité) et il y a moult algorithmes de gestion des arbres.
    Principe général:
    1) tu parcours ta base pour remplir deux collections d'objet à ranger (nomenclature et composants)
    2) tu affecte aux collections de chaque nomenclature, les nomenclatures et les composants qui lui appartiennent si possible récursivement.
    Attention pour le parcours de la collection nomenclature à ranger, il est conseillé de se "resynchroniser" à chaque objet rangé (= retiré de la collection d'objet à ranger et affecté à la nomenclature dont il fait parti).
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'module de classe clsNomenclature
    public sNom as string
    public colNomenclatures as collection
    public colComposants as collection
    ...
    'module de classe clsComposants
    public sNom as string
    Est ce clair?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 84
    Points : 24
    Points
    24
    Par défaut re
    Merci pour tes conseils ! J'aimerais réussir à faire ça, mais en prog je débute... Si tu peux me guider vers un tutoriel ou un exemple qui puisse m'aider à faire ça je prends !
    J'avais aussi posté dans la rubrique Bureautique >> Access, et d'autres membres du forum m'ont suggéré des propositions intéressantes. Je t'invite à participer à la discussion !

    Bonne journée

  4. #4
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    sur "Avantages d'une conception orientée objet performante", "classe", "objet" et "collection".

    J'aimerais réussir à faire ça,
    Essayes! Avec l'aide et ton cas simple, c'est le moment.

    mais en prog je débute...
    Tant mieux ! Autant débuter avec une approche des bons concepts.

    Bon courage,

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 84
    Points : 24
    Points
    24
    Par défaut re
    Il est temps que je m'accroche au code ! Mais je fais où ça ?

  6. #6
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    sur ton clavier ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 84
    Points : 24
    Points
    24
    Par défaut re
    oups ! je croyais que je devais chercher dans le forum !
    Bonne journée

Discussions similaires

  1. compatibilité entre visual basic et access
    Par dowencar dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/01/2008, 14h58
  2. Multithreading avec Visual Basic pour Access
    Par NoViceDel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/10/2006, 21h18
  3. visual basic appliqué à access
    Par microman dans le forum VBA Access
    Réponses: 75
    Dernier message: 20/06/2006, 15h11
  4. Visual Basic 2005 + ACCESS
    Par AzertyH dans le forum Access
    Réponses: 1
    Dernier message: 27/03/2006, 09h25
  5. Interroger un programme en Visual Basic depuis Access
    Par vciofolo dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/09/2005, 13h51

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