Localização de resgistro no banco
Pessoal,
Preciso fazer a localização de alguns registros, como o nome de empresas, a localização que faço com o seguinte comando:
o Problema é que para eu contrar os registros abaixo tenho que digitar
A Firma ou ABC
A Firma Ind.Com de Roupas Ltda*
ABC 2000 Telecomunicações Ltda - ME*
Mas se eu digitar firma, ou telecomunicações ele não retorna nada.
alguem poderia me ajudar nisso??
[b:1babb5ef05]Pessoal estava tentando fazer uma pesquisa no forum sobre este tópico, mas me parece que esta com algum problema, pois qualquer coisa que tento pesquisar aqui no forum não dá erro.[/b:1babb5ef05]
Preciso fazer a localização de alguns registros, como o nome de empresas, a localização que faço com o seguinte comando:
qryEmpresas.Locate(´Nome´,edtPesquisar.Text, [loCaseInsensitive, loPartialKey]);
o Problema é que para eu contrar os registros abaixo tenho que digitar
A Firma ou ABC
A Firma Ind.Com de Roupas Ltda*
ABC 2000 Telecomunicações Ltda - ME*
Mas se eu digitar firma, ou telecomunicações ele não retorna nada.
alguem poderia me ajudar nisso??
[b:1babb5ef05]Pessoal estava tentando fazer uma pesquisa no forum sobre este tópico, mas me parece que esta com algum problema, pois qualquer coisa que tento pesquisar aqui no forum não dá erro.[/b:1babb5ef05]
Douglasf
Curtidas 0
Respostas
Xanatos
14/12/2004
Voce deve digitar apenas assim
qryEmpresas.Locate(´Nome´,edtPesquisar.Text, [loPartialKey]);
e Nao com o loCaseInsensitive junto. Acho que é isso o problema...tenta ai denovo!!!
qryEmpresas.Locate(´Nome´,edtPesquisar.Text, [loPartialKey]);
e Nao com o loCaseInsensitive junto. Acho que é isso o problema...tenta ai denovo!!!
GOSTEI 0
Douglasf
14/12/2004
Não funcionou.
GOSTEI 0
Xanatos
14/12/2004
VOCE PODERIA USAR UMA QUERY COM UMA SINTEXE SQL MESMO...TIPO
SELECT * FROM TABELA WHERE UPPER(NOME) = :NOME
O NOME SERIA O PARAMETRO DO edtPesquisar.Text que vc adicionaria como
Query1.Params[0].AsString:= UpperCase(edtPesquisar.Text);
Query1.Open;
Acho que assim resolve!!!
SELECT * FROM TABELA WHERE UPPER(NOME) = :NOME
O NOME SERIA O PARAMETRO DO edtPesquisar.Text que vc adicionaria como
Query1.Params[0].AsString:= UpperCase(edtPesquisar.Text);
Query1.Open;
Acho que assim resolve!!!
GOSTEI 0
Fknyght
14/12/2004
Voce pode fazer da seguinte forma usando SQL
coloque uma query e faça o seguinte
Na propriedade SQL, coloque o comando abaixo
[b:ad8bdddb34]select * from Empresas where nome [color=blue:ad8bdddb34]like [/color:ad8bdddb34] :empresa[/b:ad8bdddb34]
no botão de procura seu, faça o seguinte
A clausula LIKE do select irar retornar todos os nomes que contenham a palavra digitada no edtPesquisar.
Coloquei a ¬ no inicio e no Fim para mostrar todos os campos que contenham a palavra digitada, sendo ela no meio, no inicio ou no final
coloque uma query e faça o seguinte
Na propriedade SQL, coloque o comando abaixo
[b:ad8bdddb34]select * from Empresas where nome [color=blue:ad8bdddb34]like [/color:ad8bdddb34] :empresa[/b:ad8bdddb34]
no botão de procura seu, faça o seguinte
query1.close; query1.params[ 0 ].AsString = ´¬´ + edtPesquisar.Text + ´¬´; query1.open;
A clausula LIKE do select irar retornar todos os nomes que contenham a palavra digitada no edtPesquisar.
Coloquei a ¬ no inicio e no Fim para mostrar todos os campos que contenham a palavra digitada, sendo ela no meio, no inicio ou no final
GOSTEI 0
Xanatos
14/12/2004
[b:15244f835c]select * from Empresas where UPPER(nome) like :empresa [/b:15244f835c]
Mas o problema ai é q questao das letras maiusculas e minusculas. Só montei uma forma de fazer mas ele vai que usar o UPPER para nao ter problema
Mas o problema ai é q questao das letras maiusculas e minusculas. Só montei uma forma de fazer mas ele vai que usar o UPPER para nao ter problema
query1.close; query1.params[0].AsString = ´¬´ + uppercase(edtPesquisar.Text)+ ´¬´; query1.open;
GOSTEI 0