You are calling the DLookup function in an expression for the 'field' row in the design grid. This returns a computed column. It will evaluate independently for every row returned by the query. It will not restrict the results. To do that you don't need to call the function at all. Simply enter 129 in the 'criteria' row of the Sector column in the query design grid.
This will translate to SQL as follows:
SELECT Sector
FROM Table_Source
WHERE ProductLine = 129;
This will return all rows where the ProductLine value is 129. If the Sector value will be the same for all those rows then you can return a single row in the result table by including the DISTINCT predicate:
SELECT DISTINCT Sector
FROM Table_Source
WHERE ProductLine = 129;
However, if this is the case it would suggest that the table is not normalized to Third Normal Form. Regardless of this, from your sample data this is also indicated by Sector and Category apparently being functionally determined by Sector Handling, in which case the table should be decomposed, with the Sector and Category columns being non-key columns in a referenced table with one row per Sector Handling value, and this column designated as the primary key, referenced by the Sector Handling foreign key column in Table_Source. Better still, Sector and Category can be made the composite primary key of the referenced table, and retained as a composite foreign key in Table_Source, or the referenced table can be given an autonumber primary key, referenced by a long integer foreign key column in Table_Source, in which case both the Sector and Category columns would be removed from Table_Source. The Sector_Handling values can easily be returned in a computed column in a query, or a computed control in a form or report, where necessary by concatenating the Sector and Category values. This last approach would be that used by most experienced Access developers.