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

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

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

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

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

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

3 ответа

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

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

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

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

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

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

т.е.

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

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

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

Щелкните правой кнопкой мыши Textbox > Properties > выберите Action на левой панели> выберите опцию Go to Report, как показано на этом изображении ниже

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

Убедитесь, что параметры!From и To (оба отчета) имеют тип Datetime.

Другие вопросы по тегам