What you've done makes sense, now how to join.
I do everything in stored procs, so I would say that is the way to go, but I understand DBlank's suggestion, and if you know something about SQL, and don't want to/can't make a stored proc, it is a viable solution...with caveats, that are probably doable.
For a command object...go to database, set database locations (or database expert) look at the connection that you are using, right under the name should be a 'Add Command'. This allows you to add a SQL command, like "select * from table". Here you could select everything from the first table AND a concatenated field of rec_no and rec_seq_no.
Then in the links tab, link to this new command object table to the table with document.
The caveats are, I think (I don't use this portion of Crystal), that parameters might be an issue (probably not...the command object, I believe was made to support the selection of parameter options, but we're not using it in that context here)...it's subtle, but if you filter records out of the dataset via the Report/Selection Formulas it will probably be fine....you'll find out if there are issues or not.
Hope this helps.