Hello Gaby Thanks for you reply. I saw the use of the $X parameter on the forums and tried to get it to work previously with out much luck. So when I saw your solution I was glad as I seem to be on the right track. When I tried what you suggested I cannot get it to work. My query now looks like this WHERE contractdate::date BETWEEN $P{startDate}::date AND $P{endDate}::date AND $X{IN,value,A} Paramter defined as A java/lang.string When I create the values in code I have "(value1,value2)" When I run the report I get this error. at java.lang.Thread.run(Thread.java:595) net.sf.jasperreports.engine.JRRuntimeException: Invalid type + java.lang.String for parameter A used in an IN clause; the value must be an array or a col lection. It seems like it is expecting a collection even though I specified the parameter A as a string. Is this something to do with the IN clause and how java handles it? Any help would be much appreciated. Thanks Lee Rewell