Проверка на NULL даты в пользовательской функции кода - PullRequest
2 голосов
/ 08 февраля 2012

Я пытаюсь реализовать функцию для моего отчета SSRS, которая будет возвращать значение цвета в зависимости от значений трех дат:

Function SetBoxColor(dateOne As Date, dateTwo As Date, dateThree As Date) As String
' Determine colors for text box
  If (dateOne Is Nothing) Then
    SetBoxColor = "Blue"
  Else
    If (dateThree Is Nothing) Then
      If dateOne >= Date.Now Then
        If DateDiff("d",dateOne,Date.Now) < 90
          SetBoxColor = "Yellow"
        Else
          SetBoxColor = "White"
        End If
      Else
        SetBoxColor = "Orange"
      End If
    Else
      If dateThree <= dateOne Or (Month(dateThree) = Month(dateOne) And Year(dateThree) = Year(dateOne)) Then
        SetBoxColor = "Green"
      Else
        SetBoxColor = "Red"
      End If
    End If
  End If
  Return SetBoxColor
End Function

Параметры, передаваемые в эту функцию, имеют дату, равную нулю (тип даты SQL Server), из моего набора данных, и я вызываю функцию из свойства BackgroundColor объекта TextBox как:

=Code.SetBoxColor(Fields!dateOne.Value, Fields!dateTwo.Value, Fields!dateThree.Value)

Запуск функции как есть, возвращает ошибку:

'Is' требует операндов, имеющих ссылочные типы, но этот операнд имеет тип значения 'Date'.

Любая помощь будет оценена.

1 Ответ

9 голосов
/ 08 февраля 2012

Вы пробовали dateOne = Nothing?

...