This is possible to do, but not with a query alone. I came up with a solution, but it's not elegant.
Using ADO or DAO and VBA, I would first create a recordset consisting of the two tables joined by the primary key. I would loop through all the records in turn, sort the fields 2-5 in some order so that I could then do some type of comparison between the fields, say table1 field 2 to table2 field 2.
You actually wouldn't need to sort them, you could compare table 1 field 2 to table2 field2, then table 2 field 3, etc.... until you found a match then continue on, but I think the sorting will make things move faster. It will make the programming a bit more complex, so it's optional if speed is not an issue.
Now, what to do if a discrepancy is found. You could write those to another table, or just print those out to the debug window depending on what you eventually need to do with them.
Would there ever be a case where a record existed on table 1 but not table 2? That should not be a problem depending on how you set up the program. When a comparison is made between table 1 field 2 and table 2 field 2 and a corresponding value is not found, it will just be another discrepancy.