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

beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005 - 17 juin 2005 à 13:54
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

5 réponses

cs_beabea Messages postés 62 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 17 octobre 2008
17 juin 2005 à 14:14
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
0
cs_babson Messages postés 25 Date d'inscription samedi 7 octobre 2000 Statut Membre Dernière intervention 16 décembre 2008
17 juin 2005 à 14:19
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
0
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
18 juin 2005 à 15:52
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!!!!
0
beber00 Messages postés 20 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 23 novembre 2005
18 juin 2005 à 17:20
rst.Open "SELECT * FROM " + Combo1.Text, cnx



voila ce qu'il faut mettre et c trop fort!!!!!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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....
0
Rejoignez-nous