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 :

Afficher les tables de la db dans une liste déroulante


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Points : 52
    Points
    52
    Par défaut Afficher les tables de la db dans une liste déroulante
    Bonjour,

    Je voudrais afficher les tables de la base de données courante dans une liste déroulante sur un formulaire et pouvoir en sélectionner une.

    Je voudrais ensuite afficher les colonnes de cette table dans une 2ème liste déroulante sur le formulaire et pouvoir en sélectionner une.

    Toutes les idées et exemples de code seront les bienvenus.

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut Contourner le problème ?
    Pour répondre à la première partie de ta question (si je l'ai bien comprise), pour ma part, je "tricherais" un peu en créant une table (nommée dans l'exemple ci-dessous : "TableDesTables") avec un champ unique (nommé par exemple : "Nom_Tables") et je saisirais dans cette nouvelle table le nom de toutes les tables qui doivent aller dans ta liste déroulante.

    Ensuite, il te suffirait de te servir de cette nouvelle table pour incrémenter ta liste déroulante avec dans les propriétés de cette liste déroulante(onglet "données" rubrique : "Contenu") quelque chose dans le style :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Nom_Tables FROM TableDesTables

    Michel

    PS : j'ai aussi trouvé ça qui paraît correspondre à ta demande
    http://support.microsoft.com/kb/464625/fr

  3. #3
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour Voxov,

    Nous avons déjà traité un sujet similaire, regarde donc ce lien

  4. #4
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    je n'ai pas Access sous la main, donc je n'ai pas pu tester, mais voilà une base de travail.

    Pour la combobox contenant les noms de tables (à exécuter à l'ouverture du form) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim db as DataBase
    Dim Tdf As TableDef
    Set db = CurrentDB
     
    For Each Tdf In db.TableDefs
        If (Tdf.Attributes And dbSystemObject) = 0 Then
            Me.combobox1.addItem Tdf.Name
        End If
    Next Tdf
    Sur l'événement Change de cette combobox, pour lister les champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim db as DataBase
    Dim Tdf as TableDef
    Dim Fld as Field
     
    Set db = CurrentDB
    Set Tdf = db.TableDefs(Me.combobox1.Value)
    For Each Fld in Tdf.Fields
        Me.combobox2.AddItem Fld.Name
    Next Fld
    Il faut bien sûr que tes combobox aient des sources de type liste de valeurs.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Points : 52
    Points
    52
    Par défaut
    Merci Spaiku.
    Solution simple et efficace. C'est parfait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher les lignes se trouvant pas dans une table
    Par Invité dans le forum Requêtes
    Réponses: 6
    Dernier message: 11/11/2011, 19h46
  2. Réponses: 7
    Dernier message: 08/08/2011, 16h54
  3. [MySQL] Afficher toutes les données d'un champ dans une liste déroulante
    Par Touareg dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2007, 12h42
  4. Réponses: 2
    Dernier message: 27/12/2005, 20h09

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