Ir para conteúdo

Arquivado

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

rafaeldupalio

Pesquisar em varias colunas do banco com unica variavel?

Recommended Posts

Boa tarde,

 

Como todos sabem sou noob,faixa branca,novato,estagiario etc... em asp puro a minha duvida é a seguinte:

como criar um campo de pesquisa unico?

uso asp puro e access vou exemplificar

na minha pagina web tem um campo texto onde o usuario coloca o NOME ou DEPARTAMENTO ou IDPRODUTO ou MATRICULA

no meu codigo tenho a varial que pega essa informação

var_pesq = request.form("pesquisar")

como faço para essa pesquisa procurar nas 4 colunas do banco nome,departamento,idproduto,matricula??

var_pesq = request.form("pesquisar")
vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE nome,departamento,idproduto,matricula='"&var_pesq&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3

tentei desta maneira mas nao deu certo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE nome = '"&var_pesq&"'" OR departamento = '"&var_pesq&"'" OR idproduto = '"&var_pesq&"'" OR matricula = '"&var_pesq&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE nome = '"&var_pesq&"'" OR departamento = '"&var_pesq&"'" OR idproduto = '"&var_pesq&"'" OR matricula = '"&var_pesq&"'"

Mário mt obrigado pela ajuda copiei e colei o seu codigo uso o notepad++ no asp, do trecho(OR departamento = '"&var_pesq&"'" OR idproduto = '"&var_pesq&"'" OR matricula = '"&var_pesq&"'" ) ficou como ilegivel ou nao executavel(ficou verde como comentario) mesmo assim executei no site e retornou o erro:

 

Erro de compilação do Microsoft VBScript erro '800a03ea'

Erro de sintaxe

/Atualizar_bf_consulta.asp, line 22

vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE nome = '"&var_pesq&"'" OR departamento = '"&var_pesq&"'" OR idproduto = '"&var_pesq&"'" OR matricula = '"&var_pesq&"'"

 

ae coloquei aspas duplas no final das var_pesq de cada or e ficou assim:

vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE cpu = '"&var_pesq&"' OR departamento = '"&var_pesq&"'"" OR matricula = '"&var_pesq&"'"" OR usuario = '"&var_pesq&"'"

só que na pagina executando retorna o seguinte erro:

 

Microsoft JET Database Engine erro '80040e14'

Erro de sintaxe (operador faltando) na expressão de consulta 'cpu = '7567' OR departamento = '7567'" OR matricula = '7567'" OR usuario = '7567''.

pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse erro pode ser algum campo escrito errado. Verifique a ortografia. pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada. ou a sintaxe da SQL no departamento e matricula no final do = '"&var_pesq&"'"" verifique as aspas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estes campos são todos texto ou tem algum numerico?

 

Se forem numericos devem ser colocados sem aspas na pesquisa destes campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui!!! quero agradecer ao Mário monteiro e ao xanburzum!!! vou tentar explicar o erro qual foi.

No codigo inicial do márcio eu copiei e colei no asp 1º erro o segundo foi que (vSql = "SELECT * FROM TAB_QUADRO_BRASFELS WHERE nome = '"&var_pesq&"'" )essa ultima aspas dupla fechava o select com isso os outros or ficavam invalidos.

a resolução escrever manualmente um a um e so colocar a aspas duplas no ultimo or para realmente fechar o select!!!

Quero agradecer aos mesmo esse é o meu primeiro topico que criei e foi solucionado sou novo no grupo espero um dia estar no mesmo nivel de vcs ajudando a todos!continuem assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu

 

Parabens

Compartilhar este post


Link para o post
Compartilhar em outros sites

10348283_755317281178737_254705486601737

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.