IMO
best approach here is to add an "...All" option for each param.
That better describes your process and makes the select statement very easy.
A few things I don't know. Are you using dynamic params that are populated by your data (not cascading) or are users just typing in options.
I recommend the dynamic.
Assuming that is the case you will need to add an ALL to each of those.
back to that in a sec. Once that is done the select statement is very straight forward and will allow for multiple values without an array issue.
({Param1} = "...All" or {Param1} = {table.Matter ID})
AND
({Param2} = "...All" or {Param2} = {table.Manager})
AND
({Param3} = "...All" or {Param3} = {table.Attorney})
AND
({Param4} = "...All" or {Param4} = {table.Legal Specialist})
Getting the "All" into the report...
You can add the "All" option in the DB itself per table that you want to use this process. You can do it in a view or stored proc as your source or you can do it in a command in crystal using a Union statement.
All depends on your larger set up and needs.
I added these dummy "...All" records into many tables in my DB as I need this option all the time and it did not cause me other problems.
Does this all make sense?
Edited by DBlank - 15 Sep 2009 at 12:52pm