Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ted k'

Um SQL de Busca específico

Recommended Posts

Olá galera estou com um problema, tentei várias coisas mais ñ consegui!

 

vejam bem:

 

estou com um campo de busca onde o usuario vai digitar o nome do produto:

 

Dentro do banco está cadastrado vários produtos de vários clientes, mais só que ele está na página de um cliente específico então só vai buscar os produtos daquele cliente então

 

fiz assim o SQL

 

Select * From BuscaCadastros Where CodigoClienteBuscaCadastros = '10' And Campo01BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo02BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo03BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo04BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo05BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo06BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo07BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo08BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo09BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo10BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo11BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%'

se vocês repararem o Código do Cliente é "10" mais só que quando o usuário ñ digita nada ou coloca 3 letras na busca, a busca mostra os produtos de outros clientes, como posso fazer para ñ mostrar os produtos de outros clientes?

 

OBS: tenho que liberar o campo para quando ele não digitar, aparecer o resultado por isso que coloqei o LIKE!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você utilizou OR, se a busca encontrar qq uma das sentenças ele vai ignorar a falta das outras, como por exemplo o CodigoClienteBuscaCadastros = '10'.

 

PS1: Se o usuário não digitar nada não é o LIKE, que vai permitir trazer os resultados.

PS2: Provavelmente 2 parênteses resolvem seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você utilizou OR, se a busca encontrar qq uma das sentenças ele vai ignorar a falta das outras, como por exemplo o CodigoClienteBuscaCadastros = '10'.

 

PS1: Se o usuário não digitar nada não é o LIKE, que vai permitir trazer os resultados.

PS2: Provavelmente 2 parênteses resolvem seu problema.

2 parênteses como isso vagner.net?

 

e no caso do OR poderia resolver com que sintaxe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se usar os parênteses não precisa substituir o OR, você só tem que isolar a comparação dos campos de busca da comparação do código do cliente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

Select * From BuscaCadastros Where CodigoClienteBuscaCadastros = '10' And ( Campo01BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo02BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo03BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo04BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo05BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo06BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo07BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo08BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo09BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo10BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' Or Campo11BuscaCadastros Like '%"&Replace(Request.Form("CmpBusca"), "'", "''")&"%' )

Compartilhar este post


Link para o post
Compartilhar em outros sites

vagner e Anderson poxa cara ñ sei como agradescer, nem me lembrei dessa possibilidade, e funcionou perfeitamente!

 

 

obrigado pela atenção!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.