Combobox et datagrid

cs_idelphonse Messages postés 17 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 18 juillet 2007 - 17 juin 2005 à 13:54
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:19
excusez moi ; j'ai un problème très sérieux.
je voudrais afficher des données dans un datagrid sous vb6 relativement à un choix effectué dans un combobox.voici le code
/*(affichage dans le datagrid sur sélection dans le combo)*/
Private Sub Combo1_Click()
Adodc2.RecordSource " SELECT*FROM ELEVE Where ELEVE.Code_Classe'" _
& " & Combo1.Text & '"

Adodc2.CommandType = adCmdText
Set DataGrid1.DataSource = Adodc2
'Adodc1.Refresh
Adodc2.Refresh
DataGrid1.Refresh
End Sub
/*(remplissage du combo)*/
Private Sub Combo1_DropDown()
Adodc2.Recordset.MoveFirst
i = 0
While Not Adodc2.Recordset.EOF
Combo1.List(i) = Adodc2.Recordset.Fields(14).Value
Adodc2.Recordset.MoveNext
i = i + 1
Wend
End Sub
alors quand je choisi dans le combo plus rien ne s'affiche dans le datagrid et après il renvoie l'erreur 3021(BOF ou EOF=true.........)
repondez moi comment faire???

1 réponse

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:19
Bonjour,


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


dans ton recordset, tu mets juste le nom de ton élève (ou la colonne que tu veux voir affichée dans le datacombo et le code_classe
dim rst as new recordset
rst.open "SELECT nom,code_classe from eleve order by nom",cnn,adopenkeyset

et tu remplis ton adodc
set adodc.recordset=rst


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

Ton datacombo est rempli de la liste de tes élèves et en même temps tu as le code_casse qui va te permettre ensuite d'alimenter ta datagrid

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

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

et tu le lies à ta datagrid

j'espère répondre à ton problème
0
Rejoignez-nous