vb.net - funciones - parametros reporting services
¿Cómo verificar los valores nulos antes de hacer.AddDays() en SSRS? (1)
El problema, por supuesto, es que la declaración IIF de VB evalúa ambos lados independientemente del resultado. Entonces, incluso si su campo es nulo, todavía está evaluando la llamada "Value.DateAdd".
Si recuerdo correctamente, SSRS tiene su propia función "DateAdd" que puede usar en su lugar. Entonces puedes hacer algo como esto (revisa la documentación ''porque esto es de memoria):
=Iif(IsNothing(Fields!MyDate.Value), "", Format(DateAdd("d", 30, Fields!MyDate.Value), "MMMM dd, yyyy"))
Tengo el siguiente valor para mi cuadro de texto en el informe de SSRS:
=iif(IsNothing(Fields!MyDate.Value), "", Format(Fields!MyDate.Value.AddDays(30), "MMMM dd, yyyy"))
Me da un "#Error" cada vez que MyDate es nulo.
¿Cómo trabajo alrededor de esto?
ACTUALIZAR:
Escribí esta función personalizada, eliminó el error, pero devuelve el 31 de enero de 0001 cuando se pasa la fecha nula.
Public Shared Function NewDate(myDate as DateTime, days as integer) AS string
IF ISNOTHING(myDate) OR ISDBNULL(myDate) Then
NewDate = " "
ELSE
NewDate = Format(myDate.AddDays(days), "MMMM dd, yyyy")
END IF
End Function
@Matt Hamilton: DateAdd ("d", 30, Fields! MyDate.Value)