Usando 'like' no ssrs expressões
-
14-11-2019 - |
Pergunta
Eu estou tentando destacar um campo quando o valor tem a palavra 'prazo' nela.Eu estou tentando usar a expressão:
=IIf(Fields!Notes.Value like "%deadline%","Yellow","Transparent")
na propriedade BackgroundColor.
Não realce o campo (não alterar a cor de plano de fundo).As "Notas de campo" é um tipo de dados de texto e estou usando o Construtor de Relatórios 3.0 se o que faz a diferença.O que estou fazendo de errado?
Solução
O SSRS não NÃO use a sintaxe SQL, mas em vez disso, usa o Visual Basic.
Usar algo como isto:
=IIf(Fields!Notes.Value.IndexOf("deadline") >= 0,"Yellow","Transparent")
Ou .Contém, em vez de .IndexOf
=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent")
Outras dicas
É como no access:não '%', mas:'*':
=Fields!Notes.Value Like "*deadline*"
"InStr" funciona para mim:
=IIF(InStr(Fields!Notes.Value,"deadline")>0, "Yellow", "Transparent")
Lembre-se que o valor de comparação é o caso-sentive, então, talvez, usar UCASE em torno de:
=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent")
Por que não usar algo como:
Fields!Notes.Value.Contains("deadline")