2013-05-01 4 views
1

мне нужно, чтобы получить год YYYY от параметра (@ PrmEnd2) сПолучить Год от параметра с функцией даты

default value = 
DateAdd("d" , -1 , DateAdd("m", -3, DateSerial(Year(Now()), Month(Now()), 1))) 

Я попытался = Year(Parameters!PrmEnd2.Value) но продолжать получать #ERR

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

+0

Какое значение 'Параметры! PrmEnd2.Value'? Это «DateTime»? – shahkalpesh

+0

Да, это значение datetime – grahamie

+1

Я сделал быструю проверку, и весь ваш код работал отлично для меня. Если вы используете '= Year (CDate (Parameters! PrmEnd2.Value))' это имеет значение? Запустили ли вы отчет в предварительном просмотре Visual Studio и посмотрели на ошибки, которые он показывает на выходе? –

ответ

0

Вы можете использовать DatePart, например.

=DatePart("yyyy",Paremeters!PrmEnd2.Value) 

Или может быть, что DateSerial экспортирует данные в формате Variant.

+0

Извините, Дэн, придумал, что yyyy не delcared – grahamie

+0

Показывает ли пареметр как дату, когда он называется. – Dan

+1

Привет, Дэн, промах с объявленным не было написанием paramater - однако он все еще возвращает #ERROR. Параметр показывает как datetime при вызове. – grahamie

0

Изменить тип данных для @ PrmEnd2 до Дата/время. Вы должны получить значение года для Year(Parameters!PrmEnd2.Value).

Или

Try Datatype для @PrmEnd 2 в виде текста и выражения, как Year(cdate(Parameters!PrmEnd2.Value)).

Или

Используйте выражение Year(DateAdd("d" , -1 , DateAdd("m", -3, DateSerial(Year(Now()), Month(Now()), 1))))

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