Ammmh!
de una manera rápida voy a intentar darte una idea.
tienes
tus 3 TIBQuery, por ejemplo seria TQClases, TQFamilias, TQEspacies.
el select de TQClases seria
el Select de TQFamilias seria
Código SQL
[-]
SELECT * FROM Familia WHERE nombre_CLASE = araClase
el select de TQEspecies seria:
Código SQL
[-]
SELECT * FROM Familia WHERE nombre_FAMILIA = araFamilia
Qeu es esto,v amos a hacer conusltas con parametros.
Ahora.
Cargas en un listBoxm, la tabla de clases.
en el evento OnChange de tu listbox, puedes poner esta linea de código
Código Delphi
[-]
var
i : integer;
begin
TQFamilia.close;
TQFamilia.ParamByName('paraClase').AsString := listbox.text;
TQFamilia.open;
while not TQFamilia.eof
begin
listbox2.add.items(TQFamilia.fileds('nombraFamilia').asString;
TQFamilia.next
end;
end;
la variable i n se para que la declare, jejeje
pero mas o menos esa es la idea