Код:

procedure TForm1.genealogy(iddb:integer);
var f,m:integer;
begin
Datam.ADOQuery3.Locate('id',iddb, []);
if Datam.ADOQuery3.FieldByName('Отец').AsInteger<>0 then
begin
f:=(datam.ADOQuery3.FieldByName('Отец').AsInteger);
Memo2.Lines.Add(inttostr(f));
Datam.ADOQuery3.Locate('id',f, []);
genealogy(Datam.ADOQuery3.FieldByName('id').AsInteger);
end;
if Datam.ADOQuery3.FieldByName('Мать').AsInteger<>0 then
begin
m:=(datam.ADOQuery3.FieldByName('Мать').AsInteger);
Memo2.Lines.Add(inttostr(m));
Datam.ADOQuery3.Locate('id',m, []);
genealogy(Datam.ADOQuery3.FieldByName('id').AsInteger);
end;
end;
До деда по отцу доходит и встали. Где я скриворукил.