A few issues:
1. You are missing all your arguments for your second INSTR function.
2. If there are no spaces in a name, your formula would return an error (INSTR would return 0, so you would be trying to return the LEFT most -1 (negative one) spaces.
What I would do is create a query that has a calculated field to return the LastName, up to the first space (if one exists). Then use this query in your other query, joining on this new calculated field.
That calculated field might look something like this:
Code:
Adjusted_Last_Name: IIf(InStr([table1].[Last_Name],' ')>0,Left([Table1].[Last_Name],InStr([table1].[Last_Name],' ')-1),[table1].[Last_Name])