none
IIf dentro do outro RRS feed

  • Pergunta

  • Pessoal,

    Eu queria usar um IIf dentro do outro, como no exemplo abaixo:

     

    if turno = "MANHÂ_1" then

    "Turno: Manhâ"

    else

    if turno = "TARDE_1" then

    "Turno: Tarde"

    else

    if turno = "NOITE_1" then

    "Turno: Noite"

    else

    turno

     

    Fiz o seguinte:

     

    =IIF(Fields!turno.Value = "MANHÃ_1", "Turno: Manhã",
           IIF(Fields!turno.Value = "NOITE_1", "Turno: Noite,
                 IIF(Fields!turno.Value = "TARDE_1", "Turno: Tarde", Fields!turno.Value)))

     

    Mas não funcionou, o que posso fazer neste caso??

     

    Natália

    quinta-feira, 31 de julho de 2008 23:31

Respostas

  • Natália,

     

    Minha sugestão:

     

    Adicione uma função ao Report

    Menu - Report - Report Properties - Code

    Code Snippet

    Public Shared Function NomeTurno(ByVal strTurno As String) As String

     

    If InStr(UCase(strTurno), UCase("Manhã")) > 0 Then

    NomeTurno = "Turno: Manhã"

     

    ElseIf InStr(UCase(strTurno), UCase("Tarde")) > 0 Then

    NomeTurno = "Turno: Tarde"

     

    ElseIf InStr(UCase(strTurno), UCase("Noite")) > 0 Then

    NomeTurno = "Turno: Noite"

    End If

     

    End Function

     

     

    Como usar:

    Adicione um TextBox ao relatório, clique no item com o botão da direita e selecione a opção expression

    Code Snippet

    =Code.NomeTurno(cstr(Fields!turno.Value))  

     

     

    Neste link vc encontra um exemplo parecido que eu ajudei a resolver:

    http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3590251&SiteID=21

     


    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     
    sexta-feira, 1 de agosto de 2008 00:40
  •  

    Natália,

     

    A unica coisa que vejo de errada na formula que voce passou é que no "Turno: Noite"  está faltando aspas no final. Fora isso sua expressão deveria funcionar.

     

    Att

    Boreki

    sexta-feira, 1 de agosto de 2008 15:50

Todas as Respostas

  • Natália,

     

    Minha sugestão:

     

    Adicione uma função ao Report

    Menu - Report - Report Properties - Code

    Code Snippet

    Public Shared Function NomeTurno(ByVal strTurno As String) As String

     

    If InStr(UCase(strTurno), UCase("Manhã")) > 0 Then

    NomeTurno = "Turno: Manhã"

     

    ElseIf InStr(UCase(strTurno), UCase("Tarde")) > 0 Then

    NomeTurno = "Turno: Tarde"

     

    ElseIf InStr(UCase(strTurno), UCase("Noite")) > 0 Then

    NomeTurno = "Turno: Noite"

    End If

     

    End Function

     

     

    Como usar:

    Adicione um TextBox ao relatório, clique no item com o botão da direita e selecione a opção expression

    Code Snippet

    =Code.NomeTurno(cstr(Fields!turno.Value))  

     

     

    Neste link vc encontra um exemplo parecido que eu ajudei a resolver:

    http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3590251&SiteID=21

     


    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     
    sexta-feira, 1 de agosto de 2008 00:40
  •   Natália,

    tbambém sou nova, mas tenta dessa maneira vê se dá certo

    Code Snippet

    =IIf((Fields!turno.Value)= "MANHÃ_1","Turno: Manhã",IIf((Fields!turno.Value) = "TARDE_1", "Turno: Tarde","Turno: Noite"))



    sexta-feira, 1 de agosto de 2008 02:09
  •  

    Natália,

     

    A unica coisa que vejo de errada na formula que voce passou é que no "Turno: Noite"  está faltando aspas no final. Fora isso sua expressão deveria funcionar.

     

    Att

    Boreki

    sexta-feira, 1 de agosto de 2008 15:50
  • Boreki,

     

    Concordo com você!!!

    sexta-feira, 1 de agosto de 2008 16:33
  • Boreki, realmente vc tinha razão, faltou as aspas e funcionou corretamente.

     

    Obrigada

    sexta-feira, 1 de agosto de 2008 17:06
  • Laercio,

    Mesmo tendo funcionado da outra forma achei interessante a maneira q vc apontou e resolvi testar.

    Também funcionou corretamente.

     

    Obrigada

     

     

     

     

    sexta-feira, 1 de agosto de 2008 17:09