Expresión SSRS que da error con la condición iif
Tengo esta expresión para un cuadro de texto en un informe SSRS
=IIF((Fields!Spot.Value = True), "SPOT",
MonthName(Fields!Codes_MonthFromIDfk.Value,true).ToUpper().ToString() & "-"
& MonthName(Fields!Codes_MonthToIDfk.Value,true).ToUpper().ToString())
La columna "Spot" en la base de datos es una columna de bit de tipo de datos. Tiene 0 o 1. Cuando tengo 1 / Verdadero, debería imprimir SPOT o los meses como JAN-FEB. Recibo este error cuando el valor de la columna Spot es 1.
"La expresión de valor para el textrun‘ Textbox32.Paragraphs [0] .TextRuns [0] ’contiene un error: el argumento 'Mes' no es un valor válido".
Cuando elimino la parte falsa y escribo "ABCD", obtengo la salida correcta para el cuadro de texto. SPOT (para verdadero) o ABCD (para falso). Actualmente, cuando NO es 1, muestra JAN-FEB (que es la salida deseada). Si 1 aparece como#Error
. ¿Qué hay de malo en esa expresión? Si usted necesita mas información por favor pregunte. Gracias.
EDITAR:
Public Function FormatMonths(ByVal spot As Boolean, ByVal from As Integer, ByVal to As Integer) As String
If spot Then
Return "SPOT"
Else
Return MonthName(from,true).ToUpper().ToString() & "-" & MonthName(to,true).ToUpper().ToString()
End If
End Function
Expresión :
=Code.FormatMonths(Fields!Spot.Value, 1,2)