Disclaimer:
I don't know what you are trying to do and don't know what your table structures are. I made up tables based on the query you provided.
This may not be your table structure, but this is what the query suggests.
If you have 1 record in "tblCompanies", 3 records in "tblServicePrice" and 3 records in "tblDeadlines" and create a query with no criteria (no WHERE clause), you will have 9 records, not 3. (This is a Cartesian join)
I think you need to step back and revisit your tables structures and relationships.
So based on your query, this is the query I came up with. Not sure what you want if [Forms]![SearchF]![DeadlineFilter] is not checked.
Code:
SELECT tblCompanies.Company, tblServicePrice.Service, tblServicePrice.Price, tblServicePrice.CurrencyType, tblServicePrice.NumberOfIssues, tblServicePrice.Comments, tblDeadlines.Deadline, IIf([Forms]![SearchF]![DeadlineFilter]=True,Date(),#1/1/1900#) AS Expr1
FROM (tblCompanies INNER JOIN tblDeadlines ON tblCompanies.ID = tblDeadlines.Company_FK) INNER JOIN tblServicePrice ON tblCompanies.ID = tblServicePrice.Company_FK
WHERE (((tblServicePrice.Service)=[Forms]![SearchF]![Service]) AND ((tblDeadlines.Deadline)>IIf([Forms]![SearchF]![DeadlineFilter]=True,Date(),#1/1/1900#)) AND ((tblServicePrice.Company_FK)=[Forms]![SearchF]![Company])) OR (((tblDeadlines.Deadline)>IIf([Forms]![SearchF]![DeadlineFilter]=True,Date(),#1/1/1900#)) AND (([Forms]![SearchF]![Service]) Is Null) AND (([Forms]![SearchF]![Company]) Is Null)) OR (((tblServicePrice.Service)=[Forms]![SearchF]![Service]) AND ((tblDeadlines.Deadline)>IIf([Forms]![SearchF]![DeadlineFilter]=True,Date(),#1/1/1900#)) AND (([Forms]![SearchF]![Company]) Is Null)) OR (((tblDeadlines.Deadline)>IIf([Forms]![SearchF]![DeadlineFilter]=True,Date(),#1/1/1900#)) AND ((tblServicePrice.Company_FK)=[Forms]![SearchF]![Company]) AND (([Forms]![SearchF]![Service]) Is Null));