Pesquisa não encontra palavras com acento.

Delphi

16/05/2013

Bom dia amigos,

Mas uma dúvida, tenho certeza que obterei ajuda dos amigos.

Meu problema é o seguinte, tenho esse código abaixo que pesquisa uma palavra ou uma frase em qualquer parte dos dados armazenado na tabela.

procedure Tfrm_Modelo.BtnPesquisarClick(Sender: TObject);
begin
 if (cbxField.Text <> EmptyStr) and (EdtValor.Text <> EmptyStr) then
    begin
        DS_CADASTRO.DataSet.Filter   := 'Upper('+cbxField.Text+') like '+QuotedStr('%'+ UpperCase(EdtValor.Text)+'%');
        DS_CADASTRO.DataSet.Filtered := True;
            if not DS_CADASTRO.DataSet.Active then
                   DS_CADASTRO.DataSet.Open;
  end;
end;


A pesquisa está funcionando igual a carro zero, porém se eu digitar qualquer palavra com acento não retorna nada no DBGrid.

Espero que alguém possa me ajudar, um grande abraço a todos.
Celso Souza

Celso Souza

Curtidas 0

Respostas

Nirlan Fundao

Nirlan Fundao

16/05/2013

Eu possuo um código similar que está funcionando perfeitamente, que talvez lhe ajude.
Estou usando o Delphi 2007 e Firebird 2.5
O código está em um evento de um botão. O frFiltro é um maskedit.

procedure TForm1.BotaoFiltroClick(Sender: TObject);
var
vSql : String;

begin

if frFiltro.Text = '' then
vSql := 'select * from T01_FAQ ORDER BY T01_NUMFAQ'
else
vSql := 'select * from T01_FAQ ' +
'WHERE ' +
'Upper(T01_TITULO) like ' + #39 + '%' + AnsiUpperCase(frFiltro.Text) + '%' + #39 +
'ORDER BY T01_NUMFAQ ';

ClientDataSet1.Close;
ClientDataSet1.CommandText := vSql;
ClientDataSet1.Open;

end;
GOSTEI 0
Celso Souza

Celso Souza

16/05/2013

Grande Nirlan! Cara muito obrigado pela ajuda, valeu mesmo, usei só 3 letras do seu código e resolveu o problema.

Está linha de código:
DS_CADASTRO.DataSet.Filter := 'Upper('+cbxField.Text+') like '+QuotedStr('%'+ UpperCase(EdtValor.Text)+'%');



Eu alterei desta forma:
DS_CADASTRO.DataSet.Filter := 'Upper('+cbxField.Text+') like '+QuotedStr('%'+ AnsiUpperCase(EdtValor.Text)+'%');


Um grande abraço amigo!
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

16/05/2013

Tópico CONCLUÍDO.
GOSTEI 0
POSTAR