1 pièce(s) jointe(s)
Affichage de valeur récursive dans une zone de liste déroulante
Bonjour à tous et merci de l'intérêt que vous porterez à ma requête...
J'essaie désepérément d'afficher des valeur récursive dans une liste déroulante mais je n'y arrive pas
J'ai un formulaire avec un control nommé [L_Fam_1] qui doit afficher la liste des familles de produits avec arborescence.
MLD :
categorie(#categorie_id, etc...)
categorie_xref(#categorie_parent_id, #category_child_id)
Voici ma fonction récursive :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Function CategoryList(MyParent As Long) As Variant
Dim MyCount As Integer
Dim sql, MyName As String
Dim rs As Recordset
Dim MyId As Long
sql = "SELECT loc_vm_category.category_id, loc_vm_category.category_name " _
& "FROM loc_vm_category INNER JOIN loc_vm_category_xref " _
& "ON loc_vm_category.category_id=loc_vm_category_xref.category_child_id " _
& "WHERE (((loc_vm_category_xref.category_parent_id)= " & MyParent & ")) " _
& "ORDER BY loc_vm_category.list_order; "
Set rs = CurrentDb.OpenRecordset(sql)
MyCount = rs.RecordCount
rs.MoveFirst
If MyCount > 0 Then
Do While rs.EOF
MyId = rs("category_id")
MyName = rs("category_name")
CategoryList = Array(MyId, MyName)
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Else
CategoryList (MyId)
End If
Return
End Function |
Comment faire pour afficher le résultat dans ma zone de liste ?
Je vous met un exemple de ce que je veux avoir en image.
Merci beaucoup pour votre aide
PS : J'utilise Access 2007