2010-11-29 2 views
0

... поэтому мой sql-представление возвращает nvarchar как «123456» или «JAN 11 2008 12:00 AM» (просмотр делает объединение на двух таблицах и передает дату на nvarchar).Reporting Services 2005 - Условное форматирование даты не работает

Я пытаюсь применить некоторые условное форматирование даты Т.е. я хочу, чтобы отформатировать дату, проверьте столбец «Тип», как:

=IIf(Fields!Type.Value = "COS", Fields!CosNoOrDateToContractor.Value, FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate)) 

Так в основном, если тип является «COS», то просто возврат данные как есть, в противном случае отформатируйте его до даты.

При предварительном просмотре отчета, если его COS тогда я получаю #Error в текстовом поле (преобразование из строки «123456» для типа «Дата» не является действительным.

Это что-то еще, то данные в формате даты.

ли это смысл?

Ничего плохого в синтаксисе или то, что я пытаюсь сделать не возможно?

alt text

+0

Похоже, он пытается отформатировать данные до DateTime. Прежде чем оценивать выражение ..., куда идти дальше? – empo 2010-11-29 17:17:05

ответ

0

Изменили вид вместо этого, поэтому я не указываю даты на nvarchar.

0

Я предполагаю, что у вас есть форматирование в поле «Формат»

В противном случае у вас есть число, когда вы ожидаете дату.

попробуйте добавить IsDate() проверьте также, чтобы удалить не связанные с датой

=IIf(Fields!Type.Value <> "COS" AND IsDate(Fields!CosNoOrDateToContractor.Value) 
    , FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate) 
     , Fields!CosNoOrDateToContractor.Value) 

Edit:

В DataSet, то, что тип данных не говорится, пожалуйста?

+0

Определенно нет форматирования, которое я могу видеть в свойстве «Формат» текстового поля. – empo 2010-11-29 16:04:28

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