OVH Cloud OVH Cloud

Question sur combobox

4 réponses
Avatar
SuperGolgoth
Bonjour a tous,
je cherche a faire un userform dont les combobox seraient remplis par
une requette SQL (rapide) a UserForm_Initialize()
La requete je l'ai
le combobox, je l'ai
mais comment mettre le resultat de la requete dans le combobox
directement ...?
Merci

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Life is simple :
Eat, sleep, and surf the net
~~~~~~~~~~~~~~~~~~~~~~~~~~~

4 réponses

Avatar
papou
Re
tu boucles sur chaque enregistrement trouvé et tu l'intègres dans un
Me.Combobox1.AddItem(lavaleurdelenregistrement)
Cordialement
Pascal

"SuperGolgoth" a écrit dans le message de
news:
Bonjour a tous,
je cherche a faire un userform dont les combobox seraient remplis par
une requette SQL (rapide) a UserForm_Initialize()
La requete je l'ai
le combobox, je l'ai
mais comment mettre le resultat de la requete dans le combobox
directement ...?
Merci

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Life is simple :
Eat, sleep, and surf the net
~~~~~~~~~~~~~~~~~~~~~~~~~~~



Avatar
SuperGolgoth
Le pb c'est que j'utilise cette methode qui ne me permet pas de prendre
les enregistrement un par un ...

SQLString = "SELECT * FROM table1"
With ActiveSheet.QueryTables.Add _
(Connection:="ODBC;DSN=table1;UID=sa;PWD=;", _
Destination:=Range("A5"), Sql:=SQLString)
.Refresh (False)
End With

Existe t-il une autre methode ?


Re
tu boucles sur chaque enregistrement trouvé et tu l'intègres dans un
Me.Combobox1.AddItem(lavaleurdelenregistrement)
Cordialement
Pascal


--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
isabelle
bonjour,

voie sur ce lien,

http://drq.developpez.com/vb/tutoriels/ADO/Chapitre2/

isabelle


Le pb c'est que j'utilise cette methode qui ne me permet pas de prendre
les enregistrement un par un ...

SQLString = "SELECT * FROM table1"
With ActiveSheet.QueryTables.Add _
(Connection:="ODBC;DSN=table1;UID=sa;PWD=;", _
Destination:=Range("A5"), Sql:=SQLString)
.Refresh (False)
End With

Existe t-il une autre methode ?



Re
tu boucles sur chaque enregistrement trouvé et tu l'intègres dans un
Me.Combobox1.AddItem(lavaleurdelenregistrement)
Cordialement
Pascal






Avatar
MichDenis
Bonjour SuperGolgoth,


Voici un exemple à partir de la base de données "Comptoir.mdb"
disponible sur le CD d'intallation.

Cet exemple initialise un combobox avec les entrées d'un champ "Société"
de la table "fournisseurs"

Les données de ton combobox ne contiendront pas de doublons et elles
seront classées par ordre alphabétique.

Tu dois ajouter à ton projet excel la référence suivante :

"Microsoft activex data objects 2.0 librairy"

'.--------------------------------
Sub InitialerUnCombobox()

Dim C As Integer
Dim cnt As New ADODB.Connection, Rst As New ADODB.Recordset
Dim A As Variant, BaseAccess, Requete1 As String

'Chemin et Base de données. Comptoir.mdb fait parti
'des bases de données exemple que l'on retrouve
'sur le CD d'installation

BaseAccess = ThisWorkbook.Path & "" & "Comptoir.mdb"

requete1 = "SELECT Fournisseurs.Société " & _
"FROM Fournisseurs " & _
"GROUP BY Fournisseurs.Société;"

'Création d'une connection avec la base de données.
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & BaseAccess

'Ouverture du recordset (exécution de la requête)
Rst.Open requete1, cnt, adOpenKeyset

A = Rst.GetRows
UserForm1.ComboBox1.List = Application.Transpose(A)

'Fermeture de la connection entre excel et la base de données
cnt.Close

'Libération de l'espace mémoire occupé par les objets
Set Rst = Nothing: Set cnt = Nothing

End Sub
'.--------------------------------


Salutations!



"SuperGolgoth" a écrit dans le message de news:

Bonjour a tous,
je cherche a faire un userform dont les combobox seraient remplis par
une requette SQL (rapide) a UserForm_Initialize()
La requete je l'ai
le combobox, je l'ai
mais comment mettre le resultat de la requete dans le combobox
directement ...?
Merci

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Life is simple :
Eat, sleep, and surf the net
~~~~~~~~~~~~~~~~~~~~~~~~~~~