Опциональный параметр построителя отчетов 3.0 - PullRequest
0 голосов
/ 11 мая 2018

есть ли возможность использовать необязательные параметры в построителе отчетов?

, например: У меня есть запрос с 3 параметрами

@Pa1 date
@Pa2 date
@Pa3 varchar(3)

если я запускаю «Просмотр отчета без уведомления», я получаю сообщение:

Выберите значение для параметра @ Pa3 (например)

возможно ли это?

Я пытался использовать пустое поле, но у меня нет данных

select a.legajo,c.nombres,e.Descripcion,CONVERT (char(10), a.fecha, 103) as Fecha,a.hora as ENTRADA,
b.hora as SALIDA,
DATEDIFF(HOUR,a.hora,b.hora) as Horas_trabajadas,
c.hor_x_jor Horas_jornada,
 DATEDIFF(HOUR,a.hora,b.hora) -hor_x_jor as Diferencia
 from fichadas_in a, fichadas_out b, empleados c,sucursales d,Clasificacion e
where a.Legajo=b.Legajo
and a.fecha=b.fecha
and a.fecha between @fecha1 and @fecha2
and d.codigo=@sucursal
and a.legajo=c.legajo
and c.CCO=d.Codigo
and e.Codigo=c.Clasif
Order by a.fecha,legajo 

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Как уже упоминалось, вам нужно выбрать ALLOW BLANK VALUES и ALLOW NULL VALUE. Но вы также должны убедиться, что ваш SQL знает, что делать с этими VALUES в предложении WHERE.

AND (
       ((@Pa3 IS NOT NULL AND @Pa3 != '') AND d.codigo = @Pa3)
     OR
       ((@Pa3 IS NULL OR @Pa3 = '') AND d.codigo LIKE '%'))
    )

Есть и другие способы сделать это, но убедитесь, что вы учитываете эти значения / отсутствие значений.

Для диапазона дат я бы порекомендовал объявить другую переменную, которая вычисляет значение даты перед выполнением инструкции SELECT. Создайте переменную, которая вычисляет значение, если значение пустое, пустое или введено.

Переменная может входить в @ Pa1, но затем вычисляется в @ fecha1, а затем в предложении WHERE вы используете @ fecha1.

0 голосов
/ 11 мая 2018

Разрешить пустые значения или пустые значения для вашего параметра.Parameter

...