Muito trampo, tente utilizar assim: Crie essa function:
Function BuscaTroca(Text,Busca : String) : String; Var N : Integer; begin For N := 1 to Length(Text) do begin if Copy(Text,N,1) = ' ' then begin Delete(Text,N,1); Insert('%',Text,N); end; end; Result := '%' + Text + '%'; end; Depois declare uma variável: Var Troca : String; E no seu código utilize assim: Troca:= BuscaTroca(Edit3.Text,' '); //Para fazer a substituição dos espaços em branco por % Begin Close; SQL.Clear; SQL.Add('SELECT * from Produtos'); SQL.Add('Where DescProd LIKE QuotedStr(Troca)); Open; if DBEdit1.Text='' then ShowMessage('Nome não cadastrado'); Edit3.Setfocus; end; O que vc pode fazer para deixar mais legal é alterar essa linha: Result := '%' + Text + '%'; e deixar assim: Result := Text; e nessa linha: Troca:= BuscaTroca(Edit3.Text,' '); deixar assim: Troca:= BuscaTroca(Edit3.Text,'*'); Pois assim ele tem a flexibilidade de procurar JOAO, *JOAO, *JOAO*, JOAO*, *JOAO*SILVA* .... Ele utilizará * para localizar ao invés de % e assim fica mais fácil para o usuário "pegar"... Willian Jerônymo ----- Original Message ----- From: Eduardo Silva ® To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 26, 2005 1:31 PM Subject: RES: [delphi-br] Pesquisa SQL To fazendo iPos := Pos(' ',edtInformacao.Text); if iPos > 0 then begin qrySIAE0101.Sql.Add( 'WHERE UPPER(NM_CONTATO) like ' + Copy(UpperCase(QuotedStr('%' + edtInformacao.Text + '%')),1,iPos - 1)); qrySIAE0101.Sql.Add( ' AND UPPER(NM_CONTATO) like ' + Copy(UpperCase(QuotedStr('%' + edtInformacao.Text + '%')),iPos + 1, Length(edtInformacao.Text))); end O nome do cara é Joao Pedro dos Santos, se eu digitar Joao Santos não ta me retornando, porque será ? -----Mensagem original----- De: Willian Jerônymo - Yahoo [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 26 de janeiro de 2005 13:19 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Pesquisa SQL O que você pode fazer é quando alguém for consultar alguma coisa você pode instruir a pessoal a digitar da seguinte maneira no seu Edit: %SHAMPOO%300ML% que irá dar certo, ou você pode fazer de uma maneira automática trocando os espaços em branco por % que fica melhor para o usuário. Se quiser te passo uma função que faz essa troca. Willian Jerônymo ----- Original Message ----- From: fabianojd To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 26, 2005 2:18 AM Subject: [delphi-br] Pesquisa SQL Gostaria de fazer pesquisa SQL por partes do nome completo. Ex. quero achar um SHAMPOO com 300ML, mas não sei o nome completo. Então digitaria: SHAMPOO 300ML. Normalmente o nome é: SHAMPOO NOME 300ML. a funcção que uso é: Begin Close; SQL.Clear; SQL.Add('SELECT * from Produtos'); SQL.Add('Where DescProd LIKE ''%'+Edit3.text+'%'' '); Open; if DBEdit1.Text='' then ShowMessage('Nome não cadastrado'); Edit3.Setfocus; end; Obrigado. -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: São Paulo Rio de Janeiro Curitiba Porto Alegre Belo Horizonte Brasília -------------------------------------------------------------------------- ---- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: ---------------------------------------------------------------------------- -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: São Paulo Rio de Janeiro Curitiba Porto Alegre Belo Horizonte Brasília ------------------------------------------------------------------------------ Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html