Crystal Report - Multiples parametros vacios

   
Vista:

Multiples parametros vacios

Publicado por javier alvarez (1 intervención) el 07/12/2007 19:11:54
hola mi problema en Crystal v.10.0 es que quiero un reporte que cuando no le metas parametros el repore muestre todos los registros y cuando lo quieras filtrar po un parametro solo te muestre el filtro de ese parametro y que tambien se pueda combinar con otros parametros por ejemplo son 3 parametros .. año, mes, departamento, que cuando uno de ellos falte siempre respete los otros 2 o solo 1 o nada.... cuando no tenga nada de valores en los parametros que muestre todo,,, yo ya logre hacerlo pero siempre no me respeta una convinacion de parametro de esos tres.. no se por que hace eso aqui les dejo el codigo para que lo vean y haber si me pueden ayudar... siempre el ultimo "else"
no lo tomo en cuenta o si hay una forma mas facil de hacerlo les agradeceria su aporte gracias..



IF {?MES} = '1' OR {?MES} = '2' OR {?MES} = '3' OR {?MES} = '4' OR {?MES} = '5' OR {?MES} = '6' OR {?MES} = '7' OR {?MES} = '8' OR {?MES} = '9' OR {?MES} = '10'OR {?MES} = '11' OR {?MES} = '12' OR {?MES} = '13'THEN

IF {?MES}= "" THEN
{SP_VACACIONES;1_1.mes}={SP_VACACIONES;1_1.mes}
ELSE
{SP_VACACIONES;1_1.mes}={?MES}
AND
IF {?AÑO}= "" THEN
{SP_VACACIONES;1_1.año}={SP_VACACIONES;1_1.año}
ELSE
{SP_VACACIONES;1_1.año}={?AÑO}
AND
IF {?DEPARTAMENTO}= "" THEN
Trim ({SP_VACACIONES;1_1.Departamento})= Trim({SP_VACACIONES;1_1.Departamento})
ELSE
{SP_VACACIONES;1_1.Departamento}={?DEPARTAMENTO}

ELSE
IF {?AÑO} > '1990' THEN

IF {?AÑO}= "" THEN
{SP_VACACIONES;1_1.año}={SP_VACACIONES;1_1.año}
ELSE
{SP_VACACIONES;1_1.año}={?AÑO}
AND
IF {?DEPARTAMENTO}= "" THEN
{SP_VACACIONES;1_1.Departamento}={SP_VACACIONES;1_1.Departamento}
ELSE
Trim({SP_VACACIONES;1_1.Departamento})=Trim({?DEPARTAMENTO})
AND
IF {?MES}= "" THEN
{SP_VACACIONES;1_1.mes}={SP_VACACIONES;1_1.mes}
ELSE
{SP_VACACIONES;1_1.mes}={?MES}

ELSE

IF {?DEPARTAMENTO}= "" THEN
{SP_VACACIONES;1_1.Departamento}={SP_VACACIONES;1_1.Departamento}
ELSE
{SP_VACACIONES;1_1.Departamento}={?DEPARTAMENTO}
AND
IF {?AÑO}= "" THEN
{SP_VACACIONES;1_1.año}={SP_VACACIONES;1_1.año}
ELSE
{SP_VACACIONES;1_1.año}={?AÑO}
AND
IF {?MES}= "" THEN
{SP_VACACIONES;1_1.mes}={SP_VACACIONES;1_1.mes}
ELSE
{SP_VACACIONES;1_1.mes}={?MES}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Multiples parametros vacios

Publicado por Felipe (19 intervenciones) el 07/01/2008 01:37:20
Tenia el mismo problema y me resulto con IIF de esta manera para N parametros. En el fondo pregunta si el parametro1 viene vacio ocupe el filtro parametro1 desde aaaa hasta zzzzz, sino, obedezca que el campo rubro sea igual al parametro rubro y anidas la siguiente linea con otro parametro de la misma manera:

IIF ({@nRubro}="", {V_Enc_Det_NVENTA.RubroEmp}in'aaaaaaaaaaaaaaa' to 'zzzzzzzzzzzzzzz',{V_Enc_Det_NVENTA.RubroEmp}={@nRubro}) and
IIF ({@nTipo}="", {V_Enc_Det_NVENTA.TipoEmp}in'aaaaaaaaaaaaaaa' to 'zzzzzzzzzzzzzzz',{V_Enc_Det_NVENTA.TipoEmp}={@nTipo})

etc etc

Recuerda poner la sentencia AND al final de cada linea, menos en la ultima linea de tus parametros tal como el ejemplo

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar