Ir para conteúdo

POWERED BY:

Arquivado

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

marcelinho

acho eu

Recommended Posts

bom eu estava aqui querendo fazer uma busquinha detalhada...so que deu o seguinte erro e eu nao to conseguindo resolver...ve se alguem consegue me ajuda

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério./projeto/busca/buscadetalhada.asp, line 16

o codigo é:
<% 'Força a declaração de todas as variáveis utilizadas%><% OPTION EXPLICIT %><%'INCLUDE: permitem que você escreva códigos comumente utilizados uma vez e faz o servidor'inseri-lo em suas páginas para você, tendo assim duas vantegens importantes: '1)Torna mais fácil e rápido escrever novas páginas que utilizarão o codigo.'2)Torna muito mais fácil fazer alterações no código. Você apenas tem de alterá-lo em um lugar e todas as páginas 'que o utilizarem refletirão a alteração.%><!-- #INCLUDE FILE="conexao.asp" --><%  'declaração da(s) variaveis  Dim Tabela,SQL  SQL = "Select * from CadastroEmail WHERE Codigo='" & request.Form("BuscaCod") & "' and NOME like '%" & request.Form("BuscaNome") & "%' and Numero = '" & request.form("BuscaNumero") & "' and Curso like '%" & request.form("BuscaCurso") & "%' and Unidade = '" & request.form("BuscaUnidade") & "' and Email1 like '%" & request.form("BuscaEmail1") & "%' and Email2 like '%" & request.form("BuscaEmail2") & "%' and Email3 like '%" & request.form("BuscaEmail3") & "%'"           response.write (SQL)  Set Tabela = conn.Execute(SQL)%><html><head><title></title></head><body><center><h1>Pessoas Cadastradas<br>  <font size="3" face="Verdana, Arial, Helvetica, sans-serif"><a href="form_banco.asp">Voltar</a></font></h1><div align="left"><%'exibe os valores da tabela CadastroEmail ate que seja final de arquivoDo While not Tabela.EOF	'exibe o valor do campo 0 da tabela ou seja do campo Código que é o primeiro campo	Response.Write( "<b>Codigo: </b>" & Tabela.Fields(0).Value & "<BR>" )	'exibe o valor do campo 1 da tabela ou seja do campo Nome que é o segundo campo		Response.Write( "<b>Nome: </b>" & Tabela.Fields(1).Value & "<BR>" )	Response.Write( "<b>Numero: </b>" & Tabela.Fields(2).Value & "<BR>" )	Response.Write( "<b>Curso: </b>" & Tabela.Fields(3).Value & "<BR>" )	Response.Write( "<b>Unidade: </b>" & Tabela.Fields(4).Value & "<BR>" )	Response.Write( "<b>Email1: </b>" & Tabela.Fields(5).Value & "<BR>" )	Response.Write( "<b>Email2: </b>" & Tabela.Fields(6).Value & "<BR>" )	Response.Write( "<b>Email3: </b>" & Tabela.Fields(7).Value & "<HR>" )	'apos exibir um registro é necessario mover para o proximo registro	atraves de <variavel de conexão>.MoveNext	Tabela.MoveNextLoop%></div></center></body></hmtl><%'Fecha o Objeto de Conexãoconn.close'"APAGA" qualquer instancia que possa ter no objeto ConnSet conn = Nothing%>
obrigado por td!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a linha 16 é esta Set Tabela = conn.Execute(SQL)???

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é essa mesmo!!!

 

linha 11 a 17:

 

<%  'declaração da(s) variaveis  Dim Tabela,SQL  SQL = "Select * from CadastroEmail WHERE Codigo='" & request.Form("BuscaCod") & "' and NOME like '%" & request.Form("BuscaNome") & "%' and Numero = '" & request.form("BuscaNumero") & "' and Curso like '%" & request.form("BuscaCurso") & "%' and Unidade = '" & request.form("BuscaUnidade") & "' and Email1 like '%" & request.form("BuscaEmail1") & "%' and Email2 like '%" & request.form("BuscaEmail2") & "%' and Email3 like '%" & request.form("BuscaEmail3") & "%'"           response.write (SQL)  Set Tabela = conn.Execute(SQL)%>

so que eu nao sei pq ta dando erro!!!!ate o response.write(SQL )eu puis e tbm nem deu certo pq ele nem mostra a linha!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo numero é do tipo textoo erro deve ser tirar ou colocar aspas simples de algum dos campos

Compartilhar este post


Link para o post
Compartilhar em outros sites

é sim.....o campo numero é do tipo texto sim!!!mais quais??tiro de todos ou de alguns?

bem você deve tirar do campos numericose e deixar nos campos de textotenta escrever denovo a sqlresponse.write SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

ela nem ta escrevendo!ela ta dando erro!!!

 

 

e eu tirei as aspas simples dos campos numerico e deu erro:

 

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'Codigo=135 and NOME like '%%' and Numero = and Curso like '%%' and Unidade = and Email1 like '%%' and Email2 like '%%' and Email3 like '%%''./projeto/busca/buscadetalhada.asp, line 16

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem ta faltando na sql o numero e a unidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que eu nao preenchi o numero e a unidade...deve ser por isso!!!mais tipo eu arranquei as aspas simples apenas do codigo e so preenchendo o codigo ele nao deu erro mais tbm nao mostrou o que eu queria....pq ao inves dele mostrar so a pessoa equivalente ao codigo ele mostrou todo mundo cadastrado!!!e agora ele escrveu a linha SQL:

Select * from CadastroEmail WHERE Codigo= 135 or NOME like '%%' or Numero = '' or Curso like '%%' or Unidade = '' or Email1 like '%%' or Email2 like '%%' or Email3 like '%%'

e eu nem sei o que esta acontecendo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nome like '%%'isso pega todo mundo, independente das outras condições

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais nao esta dando certo...pq é assim eu quero que se eu digitar o codigo eu quero que apareça a pessoa equeivalente...e tbm quero qdo eu so digito o nome apareça todas com o nome digitado!!e ta dando erro tbm:

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'Codigo= or NOME = '%Rodrigo%' or Numero = '' or Curso like '%%' or Unidade = '' or Email1 like '%%' or Email2 like '%%' or Email3 like '%%''./projeto/busca/buscadetalhada.asp, line 16

eu nao to entendendo mais nada!!!!!!o que eu faço eu substituo o like por =???????????da um help ae!!valeu por tdd!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais nao esta dando certo...pq é assim eu quero que se eu digitar o codigo eu quero que apareça a pessoa equeivalente...e tbm quero qdo eu so digito o nome apareça todas com o nome digitado!!e ta dando erro tbm:

neste ponto você deve tratar na page anterior

 

se digitar o codigo vai buscar so aquele

 

porque senão sempre vai buscar todos se o campo nome estiver vazio

 

olha seu codigo tem um OR

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu nao to entendendo mais nada!!!!!!o que eu faço eu substituo o like por =???????????da um help ae!!valeu por tdd!!

bem você deve tratar a monrtagem de sua sql, pois este monte de OR vai fazer sempre você pegar registros que você nem queira talvez

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo agora eu mudei o OR por AND mais agora ele nao esta listando ningueme eu nao to entendendo.....eu to conseguindo fazer nao sei pq...as vezes deve ser por esses montes de campo no select...e esta me confundindo!!!que maneira que é mais simples de fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo agora eu mudei o OR por AND mais agora ele nao esta listando ningueme eu nao to entendendo.....eu to conseguindo fazer nao sei pq...as vezes deve ser por esses montes de campo no select...e esta me confundindo!!!que maneira que é mais simples de fazer?

tambem não eh pra ser tão drasticocomo disse você deve montar sua sql a partir do que foi passadose você passa alguma coisa vazia é preferivel nem colocar este parametro na sql, pois você a torna mais complexa sem necessidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhauhaahu ctzzz!!mais que é assim eu tenho os seguintes campos:codigonomenumerocurso unidadeemail1email2email3e o usuario tem que fazer a busca por qualquer um dos campos...e eu nunca fiz isso...sempre fiz com o usuario digitando td na busca!!!por isso eu to colocando todas as variaveis...mais ai nao esta dando certo!!!e eu to sem ideia pra fazer isso!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim mas se ele preencher mais de um campo é pra fazer OR ou AND??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara dá uma olhada e se baseia num código que está Nesse Tópico, ele monta a SQL conforme o campo do form esteja preenchido ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai é que ta o problema....eu tbm nao sei!!!nao tem jeito ne de fazer o que eu to querendo?mais tipo eu vou falar com o cara que eu to fazendo isso segunda feira.. ai eu pergunto isso.....mais por enquanto eu posso fazer o cara digitar apenas 1 campo tem como???ou digitar todos sei la!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais o salgado o darckale estava fazendo isso com campo texto ?ou com campo dropdown??pq eu to fazendo com campo texto....e to com essa duvida que eu nao to conseguindo resolver

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.