FILTRANDO COM LIKE
Boa tarde Galera....
Galera é o seguinte to criando uma consulta onde eu utilizo o comando LIKE para filtrar os nomes dos clientes, mas tem um porem,
quando eu Cadastro o cliente eu programei para o sistema receber os dados em MAIUSCULO, e assim que perde o foco ele converte para o formato normal
Maiusculo.
Por exemplo:
ANTONIO CARLOS DA SILVA
quando perde o foco : Antonio Carlos da Silva
até aqui tudo bem
mas na Consulta se eu digitar ANTONIO ( em maiusculo) ele não acha
e se eu digitar antonio (em minusculo) tambem não acha
Gostaria que vcs me ajudassem para que quando eu digitar o nome, independente se está em maiusculo ou minusculo, fosse me retornado todos tem como????
Agradeço pela Atenção
Observação: não precisa ser somente com o LIKE , se alguem conhecer alguma outra forma eficaz, eu agradeço
Galera é o seguinte to criando uma consulta onde eu utilizo o comando LIKE para filtrar os nomes dos clientes, mas tem um porem,
quando eu Cadastro o cliente eu programei para o sistema receber os dados em MAIUSCULO, e assim que perde o foco ele converte para o formato normal
Maiusculo.
Por exemplo:
ANTONIO CARLOS DA SILVA
quando perde o foco : Antonio Carlos da Silva
até aqui tudo bem
mas na Consulta se eu digitar ANTONIO ( em maiusculo) ele não acha
e se eu digitar antonio (em minusculo) tambem não acha
Gostaria que vcs me ajudassem para que quando eu digitar o nome, independente se está em maiusculo ou minusculo, fosse me retornado todos tem como????
Agradeço pela Atenção
Observação: não precisa ser somente com o LIKE , se alguem conhecer alguma outra forma eficaz, eu agradeço
Primeira opção: verifique se o seu banco aceita a instrução ilike
Segunda opção, valide o que foi digitado: where upper(seucamponatabela) ilike uper(seucampode formulario)
Segunda opção, valide o que foi digitado: where upper(seucamponatabela) ilike uper(seucampode formulario)
posta o trecho do código que está usando
Qual é o banco de dados que você está utilizando? O SQL Server conforme é instalado tem este problema de diferenciar texto em caixa alta e baixa.
A minha sugestão é que na hora de realizar a consulta, que você converta o texto para caixa bauxa usando o comando lcase do VB. Com isso, você irá garantir que quando o usuário estiver digitando o texto em caixa alta, ele será convertido antes de executar a pesquisa no seu banco de dados.
A minha sugestão é que na hora de realizar a consulta, que você converta o texto para caixa bauxa usando o comando lcase do VB. Com isso, você irá garantir que quando o usuário estiver digitando o texto em caixa alta, ele será convertido antes de executar a pesquisa no seu banco de dados.
Se for access ou sqlserver:
select nome from tblClientes where lcase(nome) like lcase([Ô][ô][Ô] & txtNome.text & [Ô]*[ô][Ô])
Se for Oracle ou Firebird:
select nome from tblClientes where lower(nome) like lower([Ô][ô][Ô] & txtNome.text & [Ô]%[ô][Ô])
Ou seja: vc converte o campo e o critério para maiúlculo ou minúsculo.
select nome from tblClientes where lcase(nome) like lcase([Ô][ô][Ô] & txtNome.text & [Ô]*[ô][Ô])
Se for Oracle ou Firebird:
select nome from tblClientes where lower(nome) like lower([Ô][ô][Ô] & txtNome.text & [Ô]%[ô][Ô])
Ou seja: vc converte o campo e o critério para maiúlculo ou minúsculo.
Quando gravo as informações no BD estão sempre em MAIÚSCULAS. A pesquisa é sempre feita em maiúsculas.
Mas se a exebição deve ser feita em caixa e baixa, crio uma função para a exibição.
Mas se a exebição deve ser feita em caixa e baixa, crio uma função para a exibição.
Tópico encerrado , respostas não são mais permitidas