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}
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


0