Передача даты в качестве параметра во вложенный отчет / другой отчет для использования в качестве параметра

У меня есть два отчета. Первый отчет выбирает тип отчета из раскрывающегося списка и принимает даты от / до, а при щелчке по отчету просмотра - перечисляет имена клиентов для этого типа отчета.

Когда вы щелкаете customername, вызывается второй отчет (действие) с передачей 3 параметров - customername, datefrom и dateto в качестве параметров, которые будут использоваться во втором отчете.

Когда я запускаю каждый отчет по отдельности, оба работают нормально. Когда я запускаю первый отчет (выберите тип отчета, выберите _5 _ / _ 6_), в этом отчете перечислены все имена клиентов для этого типа отчета. Когда я нажимаю customername, я получаю сообщение об ошибке:

'Значение, указанное для параметра отчета' reportdatefrom ', недопустимо для его типа' (rsReportParameterTypeMismatch)

Пожалуйста помоги.


person user175357    schedule 18.09.2009    source источник


Ответы (3)


Используйте что-то вроде формата (Параметры! Reportdatefrom.Value, «ГГГГММДД»), чтобы преобразовать значение в каноническую строку перед передачей его во вложенный отчет.

В SSRS иногда возникают проблемы с указанием даты. Возможность адресации URL означает, что все значения параметров в любом случае преобразуются в строки, но правила преобразования по умолчанию могут различаться для разных компонентов. Один компонент сгенерирует литерал даты и времени, который другой компонент не сможет прочитать. Обычно это происходит из-за региональных настроек за пределами США.

В любом случае, чтобы обойти это, просто преобразуйте даты в строковые литералы в канонической форме ODBC перед их передачей.

person Peter Radocchia    schedule 22.10.2009
comment
Строковое выражение должно быть в правильном формате: формат (параметры! Reportdatefrom.Value, yyyyMMdd) (обратите внимание на нижний регистр для года и дня). В моем отчете была аналогичная проблема, и в моем отчете работало следующее выражение: = Формат (Параметры! Reportdatefrom.Value, dd / MM / yyyy) - person Pavel Nefyodov; 18.09.2014

Это также зависит от того, как вы передаете URL-адрес во вложенный отчет.

Если вы передаете его через объект SubReport в своем основном отчете и свойство Action через параметр URL:

введите описание изображения здесь

Я предлагаю вам создать строку URL-адреса и добавить к ней ссылки на поля, необходимые для выполнения требований к параметрам вложенного отчета.

ie

="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString()

Таким образом вы заставляете SSRS отображать все значение поля как одну строку с правильным значением из таблицы Fields.

person Fandango68    schedule 10.08.2016

Проверьте параметр типа во 2-м отчете. Оба параметра! From и Parameters! To являются типом Datetime, но я не знаю, какой метод вы вызываете 2-й отчет, но в моем случае я вам так

Щелкните правой кнопкой мыши текстовое поле ›Свойства› выберите действие на левой панели ›выберите параметр« Перейти к отчету », как показано на изображении ниже.

введите описание изображения здесь

Затем добавьте параметр для отправки во 2-й отчет.

Убедитесь, что в параметрах! From и To (оба отчета) задан тип Datetime.

person Chanom First    schedule 10.08.2016