2014-05-14 143 views
1

我正嘗試在SSRS報告模板中編寫VBA代碼,並且我有不同的映射到相同結果的條件。這個例子是當有人selectes選項「員工挑選」或「單挑選」或「的Emp採摘」SSRS報告模板代碼

Public Function ChangeCov(ByVal s As String) As String s= s.Trim() If s.ToUpper = "Picked".ToUpper Or s.ToUpper ="Single".ToUpper Return "S" Else : Return s End If End function

有沒有像SQL把一個通配符的方式?

感謝您的幫助。

回答

0

您不必使用自定義代碼;你可以使用普通的SSRS表達式:

的樣本數據:

enter image description here

簡單的表:

enter image description here

這裏的表達式爲:

=IIf(UCase(Fields!s.Value) like "*PICKED*", "S", Fields!s.Value) 

注通配符的特徵cter是*

這給了我認爲是所要求的結果:

enter image description here

如果你想使用在多個地方表達在報告中,將其添加爲在DataSet中的計算字段。

如果值是大家所熟知的,你總是可以只明確列出他們都在表達:

=IIf(Fields!s.Value = "Employee picked" 
     or Fields!s.Value = "Single picked" 
     or Fields!s.Value = "Emp Picked" 
    , "S" 
    , Fields!s.Value) 

最後,如果你想這樣做的自定義代碼,你可以看看使用InStr功能,但我認爲如果您可以在報告中處理這個問題,這更易於使用和維護。

+0

好的,謝謝@Ian Preston我會走了,然後我會讓你知道它是怎麼回事 –

+0

我試圖使用通配符表達式,但對於我在做的事情,有太多可以選擇的類別變體,但感謝所有相同的:) –