Perhaps your parameter criteria isn't getting passed to the database?
Check the Show SQL Query, it should contain the SQL where clause demonstrating that rows are being limited on the server side.
Crystal is notorious for NOT passing the SQL to the server side, so you end up getting EVERY row in the report, and then Crystal's engine will do the filtering, which proves VERY slooooooow.
Some basic rules:
-Don't use variables in any formulas used or referenced in the record selection criteria
-Always check that the SQL is getting passed
I would think that your record selection criteria looks something like:
{MyTable.MyField} in {?MyParm}
This should pass the SQL, if it isn't, then form your record selection criteria akin to the above and it should pass.
-k
kai@informeddatadecisions.com