Ir para conteúdo
Fórum Script Brasil
  • 0

like e between juntos?


Cristiano123

Pergunta

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 para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...