If I understand you correctly, you want to display in a listbox the names of manufacturers who supply fixtures. It's not clear from your question, but I am assuming that you have at least two tables: one of manufacturers and one of fixtures. The manufacturer will be a foreign key in the fixtures table.
If you want to load the listbox with the manufacturers, then it is better to take the data from the manufacturers table as you are (almost) guaranteed to have no duplicates there. Your sql query would be
select id, name
from manufacturers
order by name
If you want only manufacturers who appear in the fixtures table, then alter the query thus
select id, name
from manufacturers
where exists (select 1 from fixtures
where fixtures.manufacturer = manufacturers.id)
order by name
Load the listbox in the following manner
manulist.items.clear;
with qManufacturers do
begin
open;
while not eof do
begin
manulist.items.addobject (fieldbyname ('name').asstring,
tobject (fieldbyname ('id').asinteger));
next
end;
close
end;
Then when a name is chosen from the listbox, you can display the fixtures thus
with manulist do
begin
manu:= longint (Items.Objects[itemindex]); // manufacturer key
mname:= items[itemindex]; // manufacturer name
end;
with qFixtures do begin params[0].asinteger:= manu; open; .... end;
qFixtures would be something like
select id, name, ...
from fixtures
where manufacturer = :p1