«Неправильный формат входной строки» Ошибка выражения видимости - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь создать выражение, чтобы скрыть определенное значение.Я использовал выражение в другой ячейке без части NOT , и выражение работает.Но когда я пытаюсь использовать его для выражения видимости, я получаю сообщение об ошибке.Тип данных для forderdate - DateTime.

=Not(IIF(
 IIF( WeekDay(Today()) <> 2, 
       IIF(Fields!forderdate.Value=Today() OR Fields!forderdate.Value=DATEADD("d", -1, Today()),
            "**",
    ""), 
  IIF(Fields!forderdate.Value=Today() OR Fields!forderdate.Value=DATEADD("d", -1, Today()) OR Fields!forderdate.Value=DATEADD("d", -2, Today()) OR Fields!forderdate.Value=DATEADD("d", -3, Today()),
       "**",
      "")
       ),
       True,
       False))

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Поле даты оказалось причиной проблемы.Я использовал функцию VAL для извлечения части поля Год, которая является комбинацией Год / Месяц / Имя.Вместо того, чтобы перейти к моему выражению и поставить VAL перед forderdate , я сослался на текстовое поле, содержащее выражение.

=IIF(VAL(ReportItems!Textbox315.Value),False,True)
0 голосов
/ 12 декабря 2018

Я исключил Not() и переключил True/False, как предложил @Alan, потому что это тоже самое.Единственной оставшейся ошибкой может быть ваше поле даты.Это выражение сработало для меня:

=IIF(
     IIF( WeekDay(Today()) <> 2, 
          IIF(CDate(Fields!forderdate.Value)=Today() OR 
              CDate(Fields!forderdate.Value)=DATEADD("d", -1, Today()),
              "**", ""), 

     IIF(CDate(Fields!forderdate.Value)=Today() OR 
         CDate(Fields!forderdate.Value)=DATEADD("d", -1, Today()) OR 
         CDate(Fields!forderdate.Value)=DATEADD("d", -2, Today()) OR 
         CDate(Fields!forderdate.Value)=DATEADD("d", -3, Today()),
         "**", "")
     ) ,False, True)
...