Ir para conteúdo
Fórum Script Brasil
  • 0

não entra no if...


FelipeLeao

Pergunta

Pessoal,

Primeiramente boa tarde a todos, gostaria de contar com a ajuda de alguém que possa me orientar na seguinte situacao: Tenho uma lista que puxa dados do SGBD-R SQL Server 7, necessito criar uma busca que encontre os seguntes produtos que contenham: fralda, seringa e agulha na descricao do produto, então fiz o seguinte:

For x1 = 1 To lsvListaCompra.ListItems.Count
                 
If (UCase(lsvListaCompra.ListItems(x1)) Like InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string1), vbBinaryCompare = 1) Or UCase(lsvListaCompra.ListItems(x1)) Like InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string2), vbBinaryCompare = 1) Or UCase(lsvListaCompra.ListItems(x1)) Like InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string3), vbBinaryCompare = 1)) Then
                        
            temProdEspecial = True
           
         End If
        
    Next

O problema e que ele entra no for ma não entra no if, tentei de tudo mas não consegui nenhum exito, se alguém com mais experencia puder me apontar o erro, fico agradecido. Obrigado.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

acho q é isso q você quer não??

If (InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string1), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string2), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1)), UCase(string3), vbBinaryCompare) <> 0) Then

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi, primeiramente obrigado por me responder!

Na verdade, eu já tentei fazer isso, tambem não deu certo. O que eu quero fazer e o seguinte : esta lista recebe uma descricao dos produtos do banco de dados, então, por exemplo, ela pega um produto que se chama SAL DE FRUTA ou DORFLEX. O problema e que todo q qualquer produto que tiver em sua descricao FRALDA, AGULHA OU SERINGA ( não no mesmo produto mas sim estes nomes no meio do produto que tenham estes nomes) o if avalia essa condicao, se tiver a variavel boolean temProdEspecial recebe True. O problema e que no for a execucao entra mas no if não.

Link para o comentário
Compartilhar em outros sites

  • 0

hum, mas esse if deveria funcionar sim...

hum, olhando o seu for, você esta comecando a partir do segundo item, tb... o certo seria comecar no 0. fora isso, vamos tentar especificando a propriedade .Text no ListItem:

For x1 = 0 To lsvListaCompra.ListItems.Count - 1
If (InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string1), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string2), vbBinaryCompare) <> 0 Or InStr(1, UCase(lsvListaCompra.ListItems(x1).Text), UCase(string3), vbBinaryCompare) <> 0) Then                        
            temProdEspecial = True
         End If
Next[/code]

mas por acaso o seu listview tem varias colunas?? se for o caso, ai o codigo é otro ne. você teria q especificar em qual coluna quer buscar (ou se quiser buscar em todas, usar um outro for dentro desse q percorra as colunas).

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...