Remplir un combobox a partir d'un recordset sous access en vba

cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003 - 14 avril 2003 à 16:17
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 - 14 avril 2003 à 21:56
Bonjour,
J'ai un probleme avec le code ci dessous je n'arrive pas a remplir ma combobox avec les differentes valeurs de forenames il se remplit toujours avec la derniere valeur parcourue. Il ne se met pas sous forme de liste. Je voudrais en fait un historique de toutes les valeures possibles.
Donc voici mon code, si vous avez une idee n'hesitez pas je suis prenante.

If Not rec.EOF Then

rec.MoveFirst

MsgBox "rec ouvert"

Do Until rec.EOF

If rec!Surname <> Me.Combo8.Text Then
rec.MoveNext
ElseIf rec!Surname = Me.Combo8.Text Then
Me.Combo13.RowSourceType = "table/query"
MsgBox (rec!Forenames)
Me.Combo13.Value = rec!Forenames.Value
rec.MoveNext
i = i + 1
'nb = nb + 1
End If

Loop

rec.Close
End If

bergamotte :shy)

1 réponse

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
14 avril 2003 à 21:56
Je m'y perds dans tes Combo8 et Combo13.

Voici ma proposition pour remplir un Combo avec les valeurs trouvées :

If Not rec.EOF Then

rec.MoveFirst

Do Until rec.EOF

If NotInList(rec!Surname) Then MonCombo.AddItem rec!Surnamne

rec.MoveNext

Loop

rec.Close

End If

-----------
Et plus loin, la fonction NotInList qui renvoie True ou False en fonction du fait que le texte est absent ou non de la liste
-----------

Function NotInList (Texte As String) As Boolean

Dim i As Integer

NotInList = True

For i = 0 to MonCombo.ListCount - 1

If MonCombo.List(i) = Texte Then

NotInList = False

Exit Function

Next

End Function
0
Rejoignez-nous