You need to use a subquery to apply the condition:
SELECT * FROM dbo_A LEFT JOIN [SELECT dbo_B.* FROM dbo_B WHERE dbo_B.F_ID = 3]. AS dbo_B ON dbo_A.ID = dbo_B.A_ID;
If you use Access with the "SQL 92" compatibility mode enabled, you can make a more standard one:
SELECT * FROM dbo_A LEFT JOIN (SELECT dbo_B.* FROM dbo_B WHERE dbo_B.F_ID = 3) AS dbo_B ON dbo_A.ID = dbo_B.A_ID;
Do you need this to be edited in Access? If not, just use the Passthrough query with native T-SQL. If so, I will most likely create a server-side view for this, and I would especially like to move it on the server side if the literal value is what you could parameterize (i.e. F_ID = 3 is really F_ID = N where N is the value selected at runtime).
By the way, I write these subtasks of derived SQL table statements every day while working in Access. This is not such a big deal.
David-W-Fenton
source share