There are a number of ways to do what you want. You could create parameters in CR and then pass your values against the parameter collection. I believe you need to make sure the order of your passed values match the order of the parameters. You can use the selection formula and pass the value in using {reportdatafield} = passed parameter1 and {reportdatafield2} = passed parameter1 . You need to make certain the datafields are in the fields you are selecting and the syntax is correct. You could create a SQL select statement in code and pass the variables to it then load the results into a dataset.
I am probably missing other ways, but this will hopefully give you some choices to consider against your report design.
Hope this helps.
Regards,
John W.