23

当值中包含“截止日期”一词时,我试图突出显示一个字段。我正在尝试使用以下表达式:

=IIf(Fields!Notes.Value like "%deadline%","Yellow","Transparent")

在 BackgroundColor 属性中。

它没有突出显示该字段(不更改背景颜色)。'Notes' 字段是文本数据类型,如果有区别,我正在使用 Report Builder 3.0。我究竟做错了什么?

4

5 回答 5

46

就像在访问中:不是'%'而是'*':

=Fields!Notes.Value Like "*deadline*"
于 2012-01-25T20:38:10.397 回答
17

SSRS 不使用SQL 语法,而是使用 Visual Basic。

使用这样的东西:

=IIf(Fields!Notes.Value.IndexOf("deadline") >= 0,"Yellow","Transparent")

或 .Contains 而不是 .IndexOf

=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent")
于 2012-01-25T20:34:08.757 回答
10

“InStr”对我有用:

=IIF(InStr(Fields!Notes.Value,"deadline")>0, "Yellow", "Transparent") 

请记住,比较值是区分大小写的,因此可以使用 UCASE:

=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent") 
于 2013-08-16T10:06:01.470 回答
2

为什么不使用类似的东西:

Fields!Notes.Value.Contains("deadline") 
于 2012-01-25T20:35:19.803 回答
0

它区分大小写。供参考。与小写一起使用 -=IIf(LCase(Fields!Notes.Value) Like "*deadline*","Yellow","Transparent")

于 2020-11-18T07:47:54.163 回答