2013-06-01 4 views
0

Я работаю с SQL Server Reporting Services 2005.Службы отчетов, текстовое поле

У меня есть отчет с набором данных, который получает данные из базы данных SQL Server. Кроме того, у меня есть два параметра отчета типа DateTime (StartDate_param и EndDate_param), которые пользователь выбирает в отчете.

Я установил ограничение, если пользователь выбирает дату с различными месяцев, например, 1 июня и может 3, процесс останавливается:

У меня есть этот код на свойства отчета ----- Код раздела для управлять ограничение:

Public Function ValidateDate(StartDate As DateTime, EndDate As DateTime) As DateTime 

    If (DateDiff(DateInterval.Month, StartDate, EndDate) <> 0) Then 

     Err.Raise(6,Report) 

    End If 

End Function 

и я установил скрытый параметр CheckDateRange, который вызывает функцию ValidateDate с этим выражением:

= Code.ValidateDate(Parameters!StartDate_param .Value, Parameters!EndDate_param .Value) 

Thi s останавливает обработку SQL и я получаю эту ошибку при вводе даты с различными месяцами:

Ошибки при обработке параметра отчета «CheckDateRange»

Но я хотел бы, чтобы показать сообщение на Textbox вместо сообщения, которое сейчас отображается, как я могу это сделать?

если это невозможно, что я мог сделать в этом случае ?.

спасибо ..

ответ

1

насчет вместо того, чтобы остановить процесс, просто показать другой «отчет» к пользователю. В этом отчете об ошибке появится сообщение об ошибке, которое вы хотите показать пользователю. Затем вы просто установите условную видимость отчетов в зависимости от оценки параметров, вы также можете изменить SQL своего «фактического» отчета, чтобы он даже не выполнялся, когда параметры ошибки заданы пользователем (это не позволит делать бесполезный запрос, потому что эти данные не будут показаны).

Итак, если ваш отчет теперь является таблицей, установите условие видимости tablix для скрытия при задании параметров ошибки. Затем создайте текстовое поле вне этого tablix, которое сохранит ваше сообщение об ошибке и даст ему противоположную логику состояния видимости. Затем измените SQL-запрос так, чтобы он просто возвращал нулевую строку, когда заданы параметры ошибки.

Смежные вопросы