OK, I managed another attempt at following your instructions and I now get a list of the employees. However, the syntax on the highlighting is throwing me off. I used:
if IsNull({DT_TrainingRecords.EmployeeID}) then crRed else crBlack
I'm guessing it doesn't highlight because there is no selection criteria for the training records. Just because EmployeeID #5 didn't attend Training #48, doesn't mean they aren't in that table for Training #47. (I just tried it on a later date and the sole new employee gets highlighted.)
"It does support parameterized functions in a command - if you can include it in a Select statement and it's supported by the (in the case of SQL Server) the ODBC or OLEDb driver that you're using, you can include it in a command." -Yes, that's why I said I was using commands here "The reason I was using commands is that two of the queries (command 2 and command 3) are copies of functions on the SQL side."
I meant that CR doesn't support passing the parameters directly to the SQL functions to let SQL do the heavy lifting ala your previous comment "It's never a good idea to have multiple commands in a report... because Crystal will have to handle the "heavy lifting" of the data processing instead of making the database do it."
Also, the new report requires passing in two parameters (unless I missed something), TrainingID and TrainingDate. By having them separate, the end user could select the wrong date for a training topic and get the wrong list of employees.
What I was going for was to have the end user pick a training topic by description (using the command that linked the topic description to the training records, e.g. -CPR & First Aid) and have that topic provide the TrainingID and TrainingDate parameters.
The closest I came to this was creating a subreport with the employeesbydate table and using the employeesbytraining in a left outer join to provide the highlighting, but that gets me 1-5 pages of repeated records which would be fine if I could somehow prevent the excess pages from printing automatically. (I can tell my end user to select only page 1 every time, but they will forget from time to time.) The database menu doesn't seem to allow me to choose Select Distinct Records on my copy of the report.