Fórum Pesquisa não encontra palavras com acento. #442949
16/05/2013
0
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
Curtir tópico
+ 0Posts
16/05/2013
Nirlan Fundao
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
16/05/2013
Celso Souza
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
16/05/2013
Joel Rodrigues
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)