Jump to content
Fórum Script Brasil
  • 0

(resolvido) Duvidas - Sisteminha de busca


Guest

Question

Boa noite pessoal.

Seguinte.... Preciso listar a busca conform o nivel da empresa no sistema....

Basicamente tenho empresas do tipo C do tipo B e do tipo A, as do tipo C as buscas são menos relevantes, já as do tipo B e A são mais relevantes e aparecem primeiramente nas listagens.

Segue a logica do codigo:

Listagem das empresas tipo A e B, as quais seriam as premiuns.

n = "n"
        c = "c"

                                
                                LISTABUSCAPREMIUM = "SELECT *" _
        & "FROM EMPRESAS " _
        & "WHERE nome_empresa LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR logradouro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cep LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR numero LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR bairro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR estado LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR comentario LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR nome_categoria LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR tags_busca LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cidade LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & " AND ativo <> '"&n&"' AND tipo <> '"&c&"' ORDER BY tipo ASC;"

FARIA O LOOOP E RETORNAVA O RESULTADO
Aqui seria a listagem das empresas apenas do tipo C
LISTABUSCA = "SELECT *" _
        & "FROM EMPRESAS " _
        & "WHERE nome_empresa LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR logradouro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cep LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR numero LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR estado LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cidade LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & " AND ativo <> '"&n&"' AND tipo = '"&c&"' ORDER BY nome_empresa ASC;"
FARIA O LOOOP E RETORNAVA O RESULTADO

Oks, até ai tudo bem.... Só que na hora da listagem, ela não classifica os A e B na primeira listastagem, Listando os tipo "c" junto, alguém poderia me dar uma dica?

aparentemente deveria funcionar, mas não funcionou....

Desde já fico Grato.

Abraços.

Edited by NoNaMexD
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Praticamente 24h passadas, me sinto no direito de atualizar o tópico.

alguém poderia me ajudar nessa duvida..

Atenciosamente.

resolvido, alterando as ordens, e adicionando mais parametros.

& "FROM EMPRESAS " _
        & "WHERE ativo <> '"&n&"' AND tipo = '"&c&"' AND (nome_empresa LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR logradouro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cep LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR numero LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR bairro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR estado LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & ")  ORDER BY tipo ASC;"

Abrigado.. att..

Edited by NoNaMexD
Link to comment
Share on other sites

  • 0

em uma primeira olhada sua consulta tende a se tornar um tanto custosa ao sgbd.

o que pode ser feito é usar parenteses para indicar a ordem das condições...

LISTABUSCAPREMIUM = "SELECT *" _
        & "FROM EMPRESAS " _
        & "WHERE (nome_empresa LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR logradouro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cep LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR numero LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR bairro LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR estado LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR comentario LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR nome_categoria LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR tags_busca LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR cidade LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & ") AND (ativo <> 'n') AND (tipo <> 'c') ORDER BY tipo ASC;"

bem dizer a mesma coisa que tu fez ali no 2° post...

resultaria em where true and true and true...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...