Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Pesquisa.


Junior Pires

Pergunta

A questão é que eu sou novo no delphi e estou montando uma agenda de contatos e compromissos e estou fazendo um campo de pesquisa de contatos onde eu queria que por exemplo eu tendo vários contatos que tenham o sobrenome vieira, e quando eu colocar o nome vieira ou viei no campo e clicar no botão pesquisar, ele me voltasse tudo que estivesse compreendido antes e depois desse nome.

Como faço?

O codigo que estou utilizando atualmente é:

VAR

BUSCA:STRING;

begin

BUSCA:=EDIT1.TEXT+'*';

table1.Filter:='nome='+QuotedStr(BUSCA);

table1.Filtered:=TRUE;

end;

Eu até tentei fazer com Query1.SQL.Add('select * from ... ); mas eu não acertei fazer.

Alguma dica quemte?

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Guest --Jonas --

Exemplo:

SELECT EMPNOME, EMPSERV

FROM EMP

WHERE EMPNOME LIKE 'F%';

O símbolo "%" pode ser usado para construir a pesquisa ("%" = qualquer sequência de nenhum até vários

caracteres).

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Junior Pires
Exemplo:

SELECT EMPNOME, EMPSERV

FROM EMP

WHERE EMPNOME LIKE 'F%';

O símbolo "%" pode ser usado para construir a pesquisa ("%" = qualquer sequência de nenhum até vários

caracteres).

Infelizmente, eu não consegui me basear por esse exemplo....

Estou tentando de várias formas usas esse tipo de exemplo, mas não estou conseguindo fazer o filtro.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --

Vamos a outro exemplo:

select * from Cadastro

where nome like %Vieira%

order by nome

neste exemplo ele vai selecionar todos os nomes onde aparece a palavra vieira

pode ser no começo, no meio ou no fim do nome da pessoa...

Amarildo Vieira da Silva

Benedito Santos Vieira

Vieira da Rocha Cruz

deu pra entender ???

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --
Não entendi... =(

select * from Cadastro

where nome like %Vieira%

order by nome

coloca dentro das porcentagens a palavra ou a sequencia de caracteres que você quer procurar no arquivo de dados; onde for localizada esta palavra ( e somente esta palavra ) ele mostrara num dbgrid

Link para o comentário
Compartilhar em outros sites

  • 0

Cara a melhor maneira é a que o Micheus mostrou assim:

no events do edit você coloca este codigo e na USES declara "DB".

Table1.Locate('nome_do_campo', edit1.text, [loCaseInsensitive, loPartialKey]);
ou se for usar uma query fica assim:
with query do
begin
close;
sql.clear;
sql.add('select * from tabela where nomedocampo like :A');
parambyname('A').values := '%' + edit1.text + '%';
open;
end;

tenta isso e depois informa de se deu certo.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Junior Pires

Achei onde eu estava pecando, eu estava fazendo uma referencia errada entre a query e o datasource, corrigindo isso, consegui fazer o filtro.

Porém, agora quando eu clico no botão de impressão que vai dar num quickrep.preview, ele não me dá o relatório pelo campo filtrado, apenas a table inteira.

Alguma dica?

Abs.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...