Jump to content
Fórum Script Brasil
  • 0

like e between juntos?


Cristiano123

Question

Olá amigos

Estou com uma duvida:

Meu select ira buscar todos registros do tipo, cidade, endereco, etc e valor inicial e valor final.

A busca funcionou mas quando adapto para buscar com valor inicial (valor1) e final (valor2) não aceita...

veja a linha do select.

sqlstmt= "SELECT * FROM venda WHERE codigoimobiliaria LIKE '%"& busca_inteligente(xcodigo) &"%' and tipo LIKE '%"& busca_inteligente(xtipo) &"%' and cidade LIKE'%"& busca_inteligente(xcidade) &"%' and bairro LIKE'%" & busca_inteligente(xbairro) &"%' and valor between '%"& busca_inteligente(xvalor1) &"%' and '%"& busca_inteligente(xvalor2) &"%' order by codigoimobiliaria desc"

A busca inteligente é funcao para tirar acentos......e funciona. O que não dá foi quando adaptei o valor 1 e valor2

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Dá um debug no teu select... provavelmente essa busca_inteligente está "formatando" os números do valor de forma a não encontrar correspondência nos bancos...

Aliás: que bd está utilizando? Se for access lembre-se que os valores devem ser neste formato 1.10 (ao invés de 1,10), sacou? Caso não esteja no formato certo use replace para corrigir...

sqlstmt= "SELECT * FROM venda WHERE codigoimobiliaria LIKE '%"& busca_inteligente(xcodigo) &"%' and tipo LIKE '%"& busca_inteligente(xtipo) &"%' and cidade LIKE'%"& busca_inteligente(xcidade) &"%' and bairro LIKE'%" & busca_inteligente(xbairro) &"%' and valor between '%"& busca_inteligente(xvalor1) &"%' and '%"& busca_inteligente(xvalor2) &"%' order by codigoimobiliaria desc"
'inicio debug
response.write sqlstmt
response.end
'fim debug

[]'s Rafael Spilki

Link to comment
Share on other sites

  • 0

é o access. Mas como formato em 1.10 e não 1,10. E a minha linha de select é isto mesmo?

Dá um debug no teu select... provavelmente essa busca_inteligente está "formatando" os números do valor de forma a não encontrar correspondência nos bancos...

Aliás: que bd está utilizando? Se for access lembre-se que os valores devem ser neste formato 1.10 (ao invés de 1,10), sacou? Caso não esteja no formato certo use replace para corrigir...

sqlstmt= "SELECT * FROM venda WHERE codigoimobiliaria LIKE '%"& busca_inteligente(xcodigo) &"%' and tipo LIKE '%"& busca_inteligente(xtipo) &"%' and cidade LIKE'%"& busca_inteligente(xcidade) &"%' and bairro LIKE'%" & busca_inteligente(xbairro) &"%' and valor between '%"& busca_inteligente(xvalor1) &"%' and '%"& busca_inteligente(xvalor2) &"%' order by codigoimobiliaria desc"
'inicio debug
response.write sqlstmt
response.end
'fim debug

[]'s Rafael Spilki

Link to comment
Share on other sites

  • 0
tira o '% do começo e o %' do fim, se é número não precisa de aspas

assim?

... and valor LIKE "& busca_inteligente(xvalor) &" ....

Mas onde determino que o valor que o cara digitou na busca, e aqui no select ele mostra todos abaixo do que ele digitou. Exemplo todos <= xvalor. Uso o Like mesmo? posso colocar Between 0 and xvalor?

Link to comment
Share on other sites

  • 0

Cara... você leu o que eu escrevi? Tem um outro post seu sobre basicamente a mesma coisa...

Tire essa buscainteligente daí que ela deve ta formatando sua variável...

Além disso, cade o resultado do debug que eu pedi?

o between deverá ser algo do tipo:

valor between '"&xvalor1&"' and '"&xvalor2&"'

[]'s

Link to comment
Share on other sites

  • 0
Cara... você leu o que eu escrevi? Tem um outro post seu sobre basicamente a mesma coisa...

Tire essa buscainteligente daí que ela deve ta formatando sua variável...

Além disso, cade o resultado do debug que eu pedi?

o between deverá ser algo do tipo:

valor between '"&xvalor1&"' and '"&xvalor2&"'
[]'s
ok então coloquei a linha assim: 1.o arquivo:
<input type="text" name="valor1" id="valor1" class="textoform" onKeyPress="return(MascaraMoeda(this,'.',',',event))">
                                          </font></strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Até 
                                         <input type="text" name="valor2" id="valor2" class="textoform" onKeyPress="return(MascaraMoeda(this,'.',',',event))">
2 arquivo com o select:
xvalor1= request.form("valor1")
xvalor2= request.form("valor2")
e o select:
sqlstmt= "SELECT * FROM venda WHERE valor between '"&xvalor1&"' and '"&xvalor2&"' and codigoimobiliaria LIKE '%"& busca_inteligente(xcodigo) &"%' and tipo LIKE '%"& busca_inteligente(xtipo) &"%' and cidade LIKE'%"& busca_inteligente(xcidade) &"%' and bairro LIKE'%" & busca_inteligente(xbairro) &"%'  order by codigoimobiliaria desc"

Deu este erro :

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.

/venda/busca1.asp, line 159

Edited by kuroi
Adicionar tag CODE
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...