Lier deux Combobox VB

Fermé
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010 - Modifié par crapoulou le 23/09/2010 à 12:12
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 28 sept. 2010 à 13:56
Bonjour,

Je suis nouveau sur le forum et j'ai besoin de code vb6 pour lier deux combox dont le second depend du premier

Merci de me répondre.



A voir également:

4 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
23 sept. 2010 à 12:21
Bonjour,

J'interroge ma boule cristal pour savoir d'où viennent les données à mettre dans les combos et je reviens te donner une réponse !!!

Ôo
1
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
23 sept. 2010 à 14:22
Elle te sert beaucoup en ce moment ta boule de cristal. ^^
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
23 sept. 2010 à 15:32
J'chui bien obligé de faire appel à elle, j'ai pas pris l'option "don divinatoire" dans mon cursus universitaire ... ^^
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
23 sept. 2010 à 12:22
ok merci d'avance
0
Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
23 sept. 2010 à 14:21
En fait, ça voulait dire:

"Peux tu donner plus de précisions stp?
D'ou viennent les informations à mettre dans les combobox?"
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
24 sept. 2010 à 13:27
je travail sous vb6, et jè 2 combos ds le 1er, jè la liste des communes. je veu ke lorsqu'on choisit une commune, la liste des quartiers de la 2e combo soit fonction de la commune choisie


j'ai deja reussit à me connecter à la bd pour charger la liste des commune dans la 1re combo. j'ai besoin du code pour faire le filtre de la seconde combo
merci de me repondre
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
24 sept. 2010 à 13:31
Il faut une requête "SELECT" avec une clause "WHERE"

Le tout passé par un recordset qui va permettre en le parcourant de remplir la combo.
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
24 sept. 2010 à 13:52
où placer la req ?
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 23/09/2010 à 16:18
Bonjour,
si tu a Excel, voir cet exemple
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
bonjour, j'ai essayé ton code mais ça fonctionne pas voici mon code

Private Sub cb_com_Change()
On Error Resume Next

REQ = "SELECT * from quartier" _
& "WHERE Cde_com='" & Left(Me.cb_com, 3) & "'"

Adodc1.ConnectionString = "Microsoft.Jet.OLEDB.4.0;Data Source=C:\FFPSU\FFPSU.mdb;Persist Security Info=False"
'Liste des quartiers
Adodc1.RecordSource = REQ
Adodc1.Refresh


With Me.Adodc1.Recordset
.MoveFirst
Do While .EOF = False
If .EOF = False Then
Me.cb_quart.AddItem .Fields("nom_quart")
End If
.MoveNext
Loop
End With
End Sub
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 sept. 2010 à 12:05
Bonjour,

Peut être comme ça. N'oublie pas de cocher la référence à la bibliothèque Microsoft Activex Data Object 2.7 Library

Private Sub cb_com_Change()
Dim AdoCnx As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim query As String

Set AdoCnx = New ADODB.Connection

With AdoCnx
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Open "C:\FFPSU\FFPSU.mdb"
End With

query = "SELECT * from quartier" _
& "WHERE Cde_com='" & Left(Me.cb_com, 3) & "'"

Set Rs = New ADODB.Recordset

With Rs
      .ActiveConnection = MaConnexion
      .Open query, , adOpenDynamic, adLockPessimistic
End With

Rs.MoveFirst
While Not (Rs.EOF)
 Me.cb_quart.AddItem .Fields("nom_quart")
Rs.Move.Next
Wend

AdoCnx.Close
Rs.Close
Set AdoCnx = Nothing
Set Rs = Nothing

End Sub
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
Modifié par ktchogo le 28/09/2010 à 12:30
meric pour le code mais quand je cocher la référence à la bibliothèque Microsoft Activex Data Object 2.7 Library tout le projet ne fonction pas il fonctionne avec le 2.0

je m'explique je me connecte deja à la db avec le premier combo dont voilà le code utilisé

Private Sub Form_Load()
Set cnn = New Connection

cnn.Provider = "Microsoft.jet.OLEDB.4.0"
cnn.Open App.Path & "\FFPSU.mdb"
' Définition de la source
SQL = "SELECT nom_com FROM commune"

' Ouverture de la source
Set recTmp = New Recordset
recTmp.Open SQL, cnn
' Lecture de la source jusqu'à la fin
Do While Not recTmp.EOF
cb_com.AddItem recTmp!nom_com
recTmp.MoveNext
Loop

recTmp.Close
Set recTmp = Nothing
End Sub
et ça marche en chargeant la liste des commune
maintenant, je veux que le second combo soit fonction du premier c-à-d ke lorsqu'on choisit une commune, le second combo sort la liste des quartiers de ctte commune.
le code de la seconde combo est le suivant que vous venez de corriger mais il ressemble un peu o code de chargement de la premiere combo

excusez moi pour le desagrement mais, j'ai besoin de votre aide car vous vous y connaissez en la matière merci pour tous les efforts à mon égard
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 sept. 2010 à 12:44
Ca doit fonctionner aussi avec Microsoft Activex Data Object 2.0 Library ...

Je ne vois pas la difficulté. Pour la 2ème combo, il n'y a que la requête qui change par rapport au remplissage de la 1ère combo.

Donc en reprenant ce que tu as fait (et qui fonctionne) :

Private Sub cb_com_Change()
On Error Resume Next

Set cnn = New Connection

cnn.Provider = "Microsoft.jet.OLEDB.4.0"
cnn.Open App.Path & "\FFPSU.mdb"
' Définition de la source
SQL = "SELECT nom_quart FROM quartier" _
& "WHERE Cde_com='" & Left(Me.cb_com, 3) & "'"


' Ouverture de la source
Set recTmp = New Recordset
recTmp.Open SQL, cnn
recTemp.MoveFirst
' Lecture de la source jusqu'à la fin
Do While Not recTmp.EOF
cb_com.AddItem recTmpFields(0)
recTmp.MoveNext
Loop

recTmp.Close
Set recTmp = Nothing 
End Sub
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
28 sept. 2010 à 13:07
merci infiniment je pense que le code doit pouvoir marcher certainement j'ai du faire une petite erreur kelk part ke je vè chercher qd ya trop de code on finit par s'embrouiller mon frère
mais si tu veux bien m'aider, je t'envoie mon projet en pièce jointe donc si tu peux me donner ton mail
0
ktchogo Messages postés 10 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 28 septembre 2010
24 sept. 2010 à 13:14
je travail sous vb6, et jè 2 combos ds le 1er, jè la liste des communes. je veu ke lorsqu'on choisit une commune, la liste des quartiers de la 2e combo soit fonction de la commune choisie


j'ai deja reussit à me connecter à la bd pour charger la liste des commune dans la 1re combo. j'ai besoin du code pour faire le filtre de la seconde como
0