2013-01-03 37 views
2

我知道我已經提出了很多問題,我在學習daly!如何調試一個SSRS錯誤 - 「輸入字符串的格式不正確」

enter image description here

有問題的表達式爲:

=IIf(Parameters!ResponseRange.Value = 3, Nothing, 
    IIf(Parameters!ResponseRange.Value is Nothing, Nothing, 
     Parameters!ResponseRange.Value)) 

它的規格。因爲這部分 - Parameters!ResponseRange.Value is Nothing, Nothing,

至於參數,下面是他們如何看截圖 - 參數是一個「文本」數據類型:

enter image description here

+2

我可能會爲此煩惱,但不要擔心要求太多。至少你問這個問題。社區會讓你知道任何問題。 ;) – glh

回答

5

,該IIf()檢查的順序表情很奇怪;一般你首先要處理「成功」或非空案例。另外,還可以將兩個檢查合併到一個IIf()

=IIf(Not IsNothing(Parameters!ResponseRange.Value) AndAlso 
    Parameters!ResponseRange.Value <> 3, Parameters!ResponseRange.Value, Nothing) 

注意,我取代IsNothing()功能的Is Nothing表達。除此之外,表達式本身是有效的。 ResponseRange參數的數據類型是什麼?我推斷這是一個Integer通過比較3。你有沒有標明它可以爲空?像Integer這樣的原始數據類型不能設置爲Nothing,就像您嘗試的那樣,如果您沒有設置它們可以爲空。

您可能需要設置默認值0-1而不是Nothing,然後在您的查詢中處理該問題。

+0

嗨科裏 - 所以這裏的數字3實際上是一個文本值.. – Coffee

+0

並非常感謝!我將添加參數的屏幕截圖。 – Coffee

+1

如果3是文本值,請確保將參數與「3」(帶引號)進行比較,而不是「3」。 –