de esta forma funciona perfecto en mi aplicación
guardas la fecha de inicio del reporte en una variable que la llamo FECHADESDE
y guardas la fecha hasta donde quieres llegar en otra FECHAFINAL y lo llamas de la siguiente forma, asi le dices al crystal que emita un reporte entre dos fechas que tu mismo selecciones
puedes usar el dtpicker y obtienes la fecha asi
FECHADESDE= dtpicker1.value
FECHAFINAL= dtpicker2.value
REPORTE.SelectionFormula = "({tabla.campo_tabla} in Date(" & Format$(FECHADESDE, "yyyy,mm,dd") & ")to Date(" & Format$(FECHAFINAL, "yyyy,mm,dd") & ")
REPORTE.ACTION=0 ' lo llamas y ya
saludos....cualquier cosa por aca estare