Muy buenas, espero que me podais ayudar a resolver una duda que tengo.<?:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" />

Estoy ante el típico programa de desglose de materiales, es decir este componente se compone de estos dos y estos a su vez se componen de otros tantos.

En cuestión de BD ando con sql server 2000 con una tabla compuesta por id_padre_componente, id_hijo_componente y cantidad, la cual esta unida a la tabla componentes (id_componente,descripción) mediante el campo id_padre_componente.A su vez tengo otra tabla materiales(id material, descripción) donde tengo todos aquellos componentes los cuales no se pueden dividir en más y esta unida a traves del campo id_hijo_componente. (id material - id_hijo_componente)

Creo que el diseño de BD no voy mal encaminado mi duda es como abordar esto en mi programa de visual basic. He visto algo de recordsets jerarquicos la cuestión es que no me convencen ya que un componente puede estar compuesto por otros componente pero de diferentes niveles.
Y el tema de recursividad tampoco lo veo muy claro. los elementos que no se pueden desglosar en mas(es decir los materiales) los tengo en otra tabla diferente a la de los componentes.

Espero que me podais echar una mano y guiarme un poco aver por donde poder tirar.

Muchas gracias de antemano.