in the recordset, you are using INNER JOIN and LEFT JOIN as the join types.
Change the join types to be more inclusive
from the page i linked to:
"Inner join produces only the set of records that match in both Table A and Table B."
meaning that if there is no match on both sides of the join, a result is not returned
"Full outer join produces the set of all records in Table A and Table B, with matching records from both sides where available. If there is no match, the missing side will contain null."
meaning that a result is returned whether there is a match or not.