Árbol Genealógico

Hola, tengo una base de datos access, aún esta sin formularios, pero las tablas están llenas, y quisiera poder hacer consultas para hacer un árbol genealogico; la base de datos es de es sobre canaricultura, con datos de pájaros y criadores.
He intentado hacer alguna consulta para ver si puedo sacar el árbol pero no hay manera. Alguien puede ayudarme o decirme como hacer las consultas, ¿por favor? Envío base de datos o imágenes si hace falta.
La primera foto es tabla Criadores, la segunda de Pájaros y tercera de Parejas
http://www.publicarfotos.com/carpeta/1/thumbs/393331313850077.jpg

1 respuesta

Respuesta
1
Explica un poco más que es lo que quieres. Árbol genealógico es muy "general", puedes referirte a muchas cosas.
Antes de todo, gracias por responder tan pronto.
Lo que quiero es crear un formulario o informe en el que se vea un pájaro y sus ascendientes.
Por ejemplo, crear un formulario en el cual al principio del formulario haya tres botones de búsqueda, uno de sexo, M o H, otro de Ncriador, para poner el criador al cual pertenece ese pájaro y el último botón de búsqueda, una vez puesto lo dos anteriores que apriete y salga el Nanilla según los criterios puestos antes, o sea, el Nanilla que pertenece a ese criador y si es macho o hembra, y que aparezcan sus ascendientes hasta la cuarta generación.
O hacer lo mismo para poder crear un informe y subinformes con otras informaciones.
Si no me explicado bien, con los datos de Pájaros y Parejas, hacer una consulta, formulario o informe para ver el árbol genealógico de cada pájaro (Nanilla), padres, abuelos, bisabuelos y tatarabuelos.
Y esto ya es más complicado pero se puede hacer, aunque yo no se, es sacar la familia de un pájaro o cada pájaro (Nanilla), hermanos-as, hermanastros-as, tíos-as, y primos-as.
Más o menos para que se quede así y de ahí poder hacerme informes,
http://www.publicarfotos.com/carpeta/1/thumbs/159481313861427.jpg
Lo que no se si hay que hacerlo mediante consulta o mediante visual basic.
Vale ahora te he entendido un poco más. Lo que creo es que no es un problema de Access, sino de planteamiento. Luego "creo" que sólo con las consultas necesarias, saldría.
Como comprenderás tú pregunta no es fácil de contestar, ya que no es un "problema" con Access, sino elaborar una aplicación, y eso lleva tiempo.
Estoy de vacaciones, con lo que no tengo tiempo de probar lo que digo, pero aún así cómo valiente que soy me arriesgo a dar una "idea", simple, y sin código:
Lo primero sería identificar a cada pájaro de manera inequívoca, por ejemplo por el ID.
Cada registro de cada pájaro recogería el ID del padre, el ID de la madre y por complicarlo un poco el sexo. (Luego el resto de campos que se estimen oportunos)
Pongamos que tenemos los siguientes pajáros:
1 - primero
2 - segundo
3 - tercero
El pájaro número 3, tiene cómo padre al 1 y cómo madre al 2
PADRES: el 1 y el 2
A partir de aquí consultas :
HERMANOS: Los que en padre tengan 1 y en madre 2
HERMANASTROS: Los que en padre tengan 1 "O" en madre tengan 2
HIJOS: Los que en padre tengan 3 "O" en madre tengan 3
NIETOS: Relacionamos la consulta HIJOS con la TABLA, relacionando el campo ID de la tabla HIJOS con el campo Padre y madre de la TABLA. Esto nos devolvería todos aquellos que como padre o madre tienen el hijo del pájaro en cuestión.
ABUELOS: Una consulta sobre los padres, nos daría los padres de estos.
BISABUELOS: Una consulta con la consulta ABUELOS y la TABLA, para sacar los padres y madres de cada uno de ellos. Y así hasta la generación que se necesite.
TÍOS: una consulta sobre la consulta ABUELOS y la TABLA, relacionándola de ABUELOS a padre y madre.
Y así hasta obtener lo que queremos. E intento explicarme con un ejemplo:
Añadimos a la TABLA, dos registro más el 4 y el 5.
Pongamos que el 5 tiene como padre al 3 y como madre al 4
HERMANOS: los que tengan el 3 y el 4
HERMANASTROS: los que tengan el 3 o el 4
HIJOS: Los que tengan, padre 3 o madre 4 (pongamos que esta consulta nos devuelve el registro 6 y 7)
NIETOS: Como la consulta HIJOS nos devuelve el 6 y el 7, si esto lo relacionamos con el padre y madre de la TABLA, nos devolverá todos aquellos que como padre o madre tienen el 6 o el 7
Y así hasta el final.
No se si me he explicado adecuadamente, parece un poco rollo, pero un árbol genealógico lo es. Es una idea, como he dicho no me he puesto a probarlo. Miralo y yo en cuanto tenga un poco de tiempo igual pongo un ejemplo en mi blog, (que me ha gustado el desafío)
Entonces ¿habría qué relacionar las tres tablas que te he mostrado en el primer mensaje, o con la tabla pájaros, donde sale el padre y la madre me basta para hacer las consultas que dices y armar así el árbol genealógico?.
De todas maneras voy a ir probando lo que dices y más adelante te comento como me ha ido. Estamos en contacto.
Disfruta de tus vacaciones y cuando vuelvas a ver si entre los dos se puede arreglar este galimatías pero interesante rollo.
Un saludo y gracias otra vez.
David
Lo dicho yo creo que con la tabla donde sale el padre y la madre, y el sexo (por aquello de hermana-o, tío-a...) valdría. Entiendo que puede ser un poco enrevesado pero creo que funcionaría, sin utilizar código, cosa a mi parecer importante, ya que si Access lo puede hacer...
Lo dicho, estoy de vacaciones, pero en cuanto pueda me pongo con el proyecto, por lo menos para armar el "esqueleto" de la aplicación.
Un cordial saludo y para lo que quieras, bien por esta vía o bien a mi correo:
[email protected]
Me doy por satisfecho con las respuestas, pues me ha aportado una posible solución que he puesto en marcha y parece que funciona, aún falta desarrollarla más para que llegue a su fin, pero estamos en ello. Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas