bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Expressão que você inseriu é muito complexa

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Expressão inserida é muito complexa

Antes de iniciar a sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Usuário Francisco:

Boa noite.

Tenho uma consulta e na linha de campo uso o operador SeImed.  Estou usando uma expressão muito grande e ao dar Enter, apresenta esta mensagem:

"A expressão que você inseriu é muito complexa"

Como faço para que dê certo a expressão?

Expressão Utilizada:

Tempo Total de Penas: SeImed([PenaAno]="01A";"Mais de 1 ano até 2 anos";
SeImed([PenaAno]="02A";"Mais de 1 ano até 2 anos";
SeImed([PenaAno]="03A";"Mais de 2 até 4 anos";
SeImed([PenaAno]="04A";"Mais de 2 até 4 anos";
SeImed([PenaAno]="05A";"Mais de 4 até 8 anos";
SeImed([PenaAno]="08A";"Mais de 4 até 8 anos";
SeImed([PenaAno]="09A";"Mais de 8 até 15 anos";
SeImed([PenaAno]="15A";"Mais de 8 até 15 anos";
SeImed([PenaAno]="16A";"Mais de 15 até 20 anos";
SeImed([PenaAno]="20A";"Mais de 15 até 20 anos";
SeImed([PenaAno]="21A";"Mais de 20 até 30 anos";
SeImed([PenaAno]="30A";"Mais de 20 até 30 anos";
SeImed([PenaAno]="31A";"Mais de 30 até 50 anos";
SeImed([PenaAno]="50A";"Mais de 30 até 50 anos";
SeImed([PenaAno]="51A";"Mais de 50 até 100 anos";
SeImed([PenaAno]="100A";"Mais de 50 até 100 anos";
SeImed([PenaAno]="101A";"Mais de 100 anos")))))))))))))))))

Suporte:

Francisco,

existe um limite em que se pode aninhar o SeImed.  Se não me engano é de até 14. Podemos contornar a limitação, substituindo por uma função.

Criei esta função:

Public Function fncRetornaPena(strPena As String) As String
Select Case strPena
   Case "01A", "02A": fncRetornaPena = "Mais de 1 ano até 2 anos"
   Case "03A", "04A": fncRetornaPena = "Mais de 2 até 4 anos"
   Case "05A", "08A": fncRetornaPena = "Mais de 4 até 8 anos"
   Case "09A", "15A": fncRetornaPena = "Mais de 8 até 15 anos"
   Case "16A", "20A": fncRetornaPena = "Mais de 15 até 20 anos"
   Case "21A", "30A": fncRetornaPena = "Mais de 20 até 30 anos"
   Case "31A", "50A": fncRetornaPena = "Mais de 30 até 50 anos"
   Case "51A", "100A": fncRetornaPena = "Mais de 50 até 100 anos"
   Case "101A": fncRetornaPena = "Mais de 100 anos"
   Case Else
    fncRetornaPena = "Valor incorreto..."
End Select
End Function

E na consulta usei desta forma:

SELECT tblTeste.Código, tblTeste.PenaAno, fncRetornaPena([penaano]) AS Pena
FROM tblTeste;

Baixe e estude o arquivo exemplo oferecido.

Usuário Francisco:

Boa noite.

Deu certo. Muito obrigado.

Download

 


 

 


Não há comentário

Envie seu comentário: