Because these are both file-based databases, the join logic, filtering, etc. is all handled by Crystal itself. This means that Crystal has to go through all 64 K records (32K per file) and figure out how they match up. There is no way to speed up this process in the form that you have. You might be able to load the Excel spreadsheet into a table in the same Access database as the rest of your data which would probably speed things up.
-Dell