Comment afficher dans une ComboBox quii doit affiche les tables de ma base

Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
- - Dernière réponse : cs_babson
Messages postés
25
Date d'inscription
samedi 7 octobre 2000
Statut
Membre
Dernière intervention
16 décembre 2008
- 19 juin 2005 à 02:20
voici mon code
je suis sous VisualBasic 6.0

'Déclaration de la variable de connexion
Dim cnx As ADODB.Connection
Set cnx = New ADODB.Connection


'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.Oledb.3.51"

'Définition de la chaîne de connexion
cnx.ConnectionString = pathDB


'Ouverture de la base de données
cnx.Open


'Déclaration de la variable de RecordSet
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset


'Exécution de la requête
rst.Open "SELECT * FROM Table", cnx

Detail de ce que je n'arrive pas a faire

Je voudrais créé une requete pour afficher dans une combobox la liste de mes Tables de ma base pathDB

A partir de ca en selectionnant la table dans la combo,
je veux afficher toutes les valeurs dans une FlexGrid

Pour la flex grid pas de PB
il faudrait juste me dire comment la valeur de la combo peut etre prise en compte pour l'integrer dans les parametres de la flexgrid.

Merci d'avance
Afficher la suite 

5 réponses

Messages postés
62
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
17 octobre 2008
0
Merci
Bonjour,


moi, j'utilise des datacombos et je créé un adodc


dans ton recordset, tu mets juste le libellé de tes tables et ton numID

dim rst as new recordset
rst.open "SELECT libelle,numid from table order by libelle",cnn,adopenkeyset

et tu remplis ton adodc
set adodc.recordset=rst


Ensuite dans ta datacombo au niveau de la boundcolumn, tu mets ton numid et dans listfield =libelle et dans rowsource le nom de ton adodc

Ton datacombo est rempli de la liste de tes tables et en même temps tu as le numID qui va te permettre ensuite d'alimenter ta flex grid.

En effet, sur le click de ta datacombo, tu récupères le numID
dim a as integer
a=datacombo.boundcolumn

Ensuite, tu peux faire un nouveau recordset avec le select :
"select * from table where numid=" & a

et tu le lies à ta flexgrid.

j'espère répondre à ton problème
Messages postés
25
Date d'inscription
samedi 7 octobre 2000
Statut
Membre
Dernière intervention
16 décembre 2008
0
Merci
le plus simple serait de créer dans ta DB une nouvelle table (a deux champs : numero, nom_table) dans laquelle tu mettras le noms de toute tes tables

puis dans ton combo box tu fais appelle a cette table.
ex:
Table: TouteTable
Champs: TouteTable.id, TouteTable.nom_table

TouteTable.numero TouteTable.nom_table
1 client
2 fournisseur
........

'*************************************'
Dim rsCombo As New ADODB.Recordset
Dim sQuery As String

Combo1.Clear
sQuery = ""
sQuery = "SELECT * from TouteTable"
Set rsCombo = DB.Execute(sQuery)

If (rsCombo.EOF) =False Then
While (Not rsCombo.EOF)
Combo1.AddItem rsCombo("nom_table")
Combo1.ItemData(Combo1.NewIndex) = rsCombo("numero")
rsCombo.MoveNext
Wend
End If
Combo1.ListIndex = 0

rsCombo.Close
Set rsCombo = Nothing

'****************************'

Puis si tu veux passer le nom de la table selectionner dans ton combobox il suffit d'utiliser la propriété Combo1.text

j'espere que ça t'aidera
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
Rebonjour j'arrive a afficher mes valeurs de tables avec la 2eme méthode



Merci



mais maintenant avec ma requeteSQL je voudrais y intégrer la valeur de ma Combo

soit



rst.Open "SELECT * FROM Combo1.Text", cnx



mais ca ne marche pas



POURQUOI????



est ce que comme je suis entre " " il ne comprend pas ce qu'est Combo1.Text



Merci encore pour vos réponses et celles qui vont venir j'espere!!!!
Messages postés
20
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
23 novembre 2005
0
Merci
rst.Open "SELECT * FROM " + Combo1.Text, cnx



voila ce qu'il faut mettre et c trop fort!!!!!!!!!!!
Messages postés
25
Date d'inscription
samedi 7 octobre 2000
Statut
Membre
Dernière intervention
16 décembre 2008
0
Merci
oui il faut ne faut pas mettre Combo1.Text entre quote, mais faire comme indiquer ci-dessus

rst.Open "SELECT * FROM " & Combo1.Text, cnx

Babson everything is possible....