IkeBoy Postado Julho 17, 2010 Denunciar Share Postado Julho 17, 2010 (editado) Para fazer uma rotina de pesquisa, utilizei a seguinte expressão :Query1.SQL.Add ( 'Select DATA, HORA, DESCR from AGENDA Where DESCR like"%' + Edit1.Text + '%"' );neste caso, eu tiver os textos escritos de forma diferente, por exemploVer Setasver setasVer SetasVER SETAS,só retornam as que estiverem escritas da mesma forma.Como faço para retornar todas as formas ?Obs. Tabela ParadoxObrigado,Henrique Editado Julho 17, 2010 por Jonathan Queiroz Remover caixa alta do título conforme regra 3.7 (Jonathan) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alberto Mota Postado Julho 18, 2010 Denunciar Share Postado Julho 18, 2010 Uso o código a seguir e encontro de qualquer forma.QueryAssociados.Close;QueryAssociados.SQL.clear;QueryAssociados.SQL.Add('SELECT * from TblAssociados where nomeassociado like :nome order by nomeassociado');QueryAssociados.Parameters.ParamByName('nome').Value := '%' + Edit1.text + '%';QueryAssociados.Open; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 IkeBoy Postado Julho 18, 2010 Autor Denunciar Share Postado Julho 18, 2010 Obrigado poor sua resposta, porém nos dois casos o retorno é o mesmo, ou seja, só retornam os dados que correspondam exatamente com a forma em que foram digitados no Edit.Henrique. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@RcOs pS09 Postado Julho 18, 2010 Denunciar Share Postado Julho 18, 2010 IkeBoy,O post do Alberto Mota está correto! Like é insensitive por padrão.Usando a mesma idéia do Alberto Mota (que por sinal está correta), faça esta outra idéia:QueryAssociados.Close; QueryAssociados.SQL.clear; QueryAssociados.SQL.Add('SELECT * from TblAssociados where nomeassociado like LOWER(:nome) order by nomeassociado'); QueryAssociados.Parameters.ParamByName('nome').Value := '%' + AnsiLowerCase(Edit1.text) + '%'; QueryAssociados.Open;Pré-Requisito: SysUtils;Att Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 IkeBoy Postado Julho 18, 2010 Autor Denunciar Share Postado Julho 18, 2010 Obrigado pela resposta.Quando eu testei a dica do Alberto Mota, tinha dado erro na linhaQueryAssociados.Parameters.ParamByName('nome').Value := '%' + Edit1.text + '%';Undeclared identifier: 'Parametes' ,e por isso eu retirei o parameters. Deve ter sido por essa razão que não funcionou, porém continuo recebendo a mesma mensagem de erro, e o SysUtiils está no Uses.O que devo fazer ?Mais uma pergunta.No caso de palavras acentuadas ou não, também irão funcionar neste exemplo ?Obrigado,Henrique. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 18, 2010 Denunciar Share Postado Julho 18, 2010 QueryAssociados.Parameters.ParamByName('nome').Value := '%' + Edit1.text + '%'; Undeclared identifier: 'Parametes' , neste caso ficaria QueryAssociados.ParamByName('NOME').Value := '%' + Edit1.text + '%';No caso de palavras acentuadas ou não, também irão funcionar neste exemplo ?No caso de palavras acentuadas, depende de como voce digitarexemplo:EletronicaEletrônicase voce digitar sem acento, a palavra Eletrônica não entrara no resultado da pesquisase voce digitar até 'Eletr' então os dois entram no resultado da pesquisaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
IkeBoy
Para fazer uma rotina de pesquisa, utilizei a seguinte expressão :
Query1.SQL.Add ( 'Select DATA, HORA, DESCR from AGENDA Where DESCR like"%' + Edit1.Text + '%"' );
neste caso, eu tiver os textos escritos de forma diferente, por exemplo
Ver Setas
ver setas
Ver Setas
VER SETAS,
só retornam as que estiverem escritas da mesma forma.
Como faço para retornar todas as formas ?
Obs. Tabela Paradox
Obrigado,
Henrique
Editado por Jonathan QueirozRemover caixa alta do título conforme regra 3.7 (Jonathan)
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.