Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2010, 16h26   #1
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 37
Points : 11
Points : 11
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.
voxov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 16h44   #2
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 261
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : février 2008
Messages : 261
Points : 304
Points : 304
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 :
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
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 17h06   #3
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Bonjour Voxov,

Nous avons déjà traité un sujet similaire, regarde donc ce lien
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 18h05   #4
Membre confirmé
 
Avatar de spaiku
 
Chef de projet MOA
Inscription : septembre 2007
Messages : 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2007
Messages : 191
Points : 250
Points : 250
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 :
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 :
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.
spaiku est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/12/2010, 11h13   #5
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 37
Points : 11
Points : 11
Merci Spaiku.
Solution simple et efficace. C'est parfait.
voxov est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h45.


 
 
 
 
Partenaires

Hébergement Web