Ir para conteúdo

POWERED BY:

Arquivado

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

*_Charles Potter_*

Like em access

Recommended Posts

Ahe gente

 

Tpo tenho um Página asp que faz busca em uma tabela nio banco de dados access..Mas

Por exemplo tenho o valor "Balcão" no banco de dados, o select para localizar este valor se eu digitar ele "Balcao" seria:

 

select * from tabela where campo LIKE 'Balcao'

 

Certo?

 

Eu faço isto e nao retorna nenhum resultado...

 

mas se fizer

 

select * from tabela where campo LIKE 'Balcão'

 

Retorna...

 

O que posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui achar uma solução!! Para quem interesse

 

Function FormataBusca( Texto )

dim n, NovoTexto, valorASC

NovoTexto = ""

for n = 1 to len( Texto )

valorASC = asc( mid( Texto, n, 1 ) )

select case valorASC

case 39: NovoTexto = NovoTexto & "''"

case 65: NovoTexto = NovoTexto & "[ÁÀÂÄÃA]"

case 67: NovoTexto = NovoTexto & "[ÇC]"

case 69: NovoTexto = NovoTexto & "[ÉÈÊËE]"

case 73: NovoTexto = NovoTexto & "[ÍÌÎÏI]"

case 79: NovoTexto = NovoTexto & "[ÓÒÔÖÕO]"

case 85: NovoTexto = NovoTexto & "[ÚÙÛÜU]"

case 97: NovoTexto = NovoTexto & "[áàâäãa]"

case 99: NovoTexto = NovoTexto & "[çc]"

case 101: NovoTexto = NovoTexto & "[éèêëe]"

case 105: NovoTexto = NovoTexto & "[íìîïi]"

case 111: NovoTexto = NovoTexto & "[óòôöõo]"

case 117: NovoTexto = NovoTexto & "[úùûüu]"

case else

if valorASC > 31 and valorASC < 127 then

NovoTexto = NovoTexto & chr( valorASC )

else

NovoTexto = NovoTexto & "_"

end if

end select

next

FormataBusca = "'%" & NovoTexto & "%'"

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta sua instrucao SQL, dá um response.write nela, para ver o que esta sendo passado

SQL="...NomeProduto LIKE COLLATE SQL_Latin1_General_CP1_CI_AI '%"&VarChave&"%'"
response.write (SQL)
response.end()

COLLATE SQL_Latin1_General_CP1_CI_AI é o nome de seu campo !!!

 

olha um exemplo:

 

SELECT * FROM produtos WHERE Produtos.nome_produto LIKE '%" & varnome_produto & "%' "

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum não entendi bem a expressão "COLLATE SQL_Latin1_General_CP1_CI_AI é o nome de seu campo !!!" sendo que Collate não é o nome do campo.

 

Mas mesmo assim a função que postei assim funcinou certin,,, mas estou tentando descobrir como usar este esquema do collate,,,

 

Vlw :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

collate (formato) diferentes da base de destino, ou seja, se temos uma base com seu collate em Latin1_General_CI_AI e exportarmos seus dados para uma outra base no qual o collate definido seja diferente a acentuação destes registros ficarão de forma truncada.

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.