11

Tôi đang cố gắng làm nổi bật một trường khi giá trị có từ 'thời hạn' trong đó. Tôi đang cố gắng sử dụng các biểu hiện:Sử dụng 'like' trong các biểu thức ss1

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

trong tài sản BackgroundColor.

Nó không làm nổi bật trường (không thay đổi màu nền). Trường 'Ghi chú' là một kiểu dữ liệu văn bản và tôi đang sử dụng Trình tạo báo cáo 3.0 nếu điều đó tạo nên sự khác biệt. Tôi đang làm gì sai?

Trả lời

9

SSRS làm NOT sử dụng cú pháp SQL, nhưng thay vì sử dụng Visual Basic.

Sử dụng một cái gì đó như thế này:

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

Hoặc Chứa thay vì .IndexOf

=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent") 
+0

Tôi đã cố gắng sử dụng Chứa() trước nhưng Tôi đã bỏ qua phương thức tolower() hoặc tolowerinvariant() để chuyển đổi nó từ văn bản thành chuỗi. Cảm ơn :) – blsub6

1

Tại sao không sử dụng một cái gì đó như:

Fields!Notes.Value.Contains("deadline") 
28

Nó giống như trong việc tiếp cận : không phải '%' nhưng '*':

=Fields!Notes.Value Like "*deadline*" 
7

"InStr" làm việc cho tôi:

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

Hãy nhớ rằng giá trị so sánh phân biệt chữ in sentive, như vậy có lẽ sử dụng UCase xung quanh:

=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent") 
Các vấn đề liên quan