"Type" is a reserved word in Access and shouldn't be used for object names. You have "Type" as a field in the Company table and as a table name and as a field name in table "Type". Here is a list of reserved words:
http://allenbrowne.com/AppIssueBadWord.html
Also, it is better to not use spaces in object names.
I think it is your join types. Since every field in "Connection table" is a foreign key, every field needs to have data. In design view, open the properties for each join and select the 3rd option (I think):
"Select All records from 'Connection table' and only those records from 'XXXX' where the joined fields are equal". ("XXXX" would be the different table names.)