Walter,
If the combination of two fields comprises the primary key of a table, then those two fields should be in an index together so records can be found with a simple seek. Joins are based on the relationship of the primary key of one table and the foreign key in another table.
The issue of data types is irrelavent. Data conversions are possible.
WHERE STR(CustNo,10,0) + STR(InvNo,10,0) = ...
WHERE DTOS(DateField) + STR(InvNo,10,0) = ...
etc. etc. etc.
Using an AND in a JOIN condition is more complicated in my opinion as it conceals the PK and FK values.