Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/02/2004, 11:27
Teri
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola de nuevo Swas:

No sé con qué base de datos trabajas, he estado haciendo pruebas con acces, que es cómodo y sencillo de manejar.

Teniendo una Tabla, Tabla1, donde estarán los datos tal y como los has especificado, creo una Consulta, Consulta1, con la siguiente sentencia SQL:


SELECT Tabla1.Id, Tabla1.IdPadre, Tabla1.Nombre,
IIf([IdPadre]=0,[Id],DLookUp("GranPadre","Consulta1","Id = " & [idPadre])) AS GranPadre
FROM Tabla1;

Con esto obtienes los resultados que dices, he probado hasta una anidación de 5 hijos

Como ves, se llama a sí misma, pero no se me ha ocurrido otra forma.

Espero te sirva de algo

Un saludo