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

Locate


Marquinhossss

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

como faria para dar varios ocates, tipo, Se eu tenho 5 tipos de informações que podem ajudar na busca, ou o usuario não sabe o nome do cliente, mas sabe o nome dos produtos que compra, ou o prefixo do telefone como faria para fazer uma busca usando um pouco de cada informação ou so 2 campos por não saber dos outros 3, sei lá algo assim to sabendo como me explicar não, como seria o cod?

Valeu

Tiago Clemente

Link para o comentário
Compartilhar em outros sites

  • 0

como faria para dar varios ocates, tipo, Se eu tenho 5 tipos de informações que podem ajudar na busca, ou o usuario não sabe o nome do cliente, mas sabe o nome dos produtos que compra, ou o prefixo do telefone como faria para fazer uma busca usando um pouco de cada informação ou so 2 campos por não saber dos outros 3, sei lá algo assim to sabendo como me explicar não, como seria o cod? Vou usar uma query!

Valeu

Tiago Clemente

Link para o comentário
Compartilhar em outros sites

  • 0

Quando voce usa varios campos para pesquisa, vai precisar de uma query...

Vo colocar uma aqui que eu to usando pra ver se você entende:

    sql.Clear;

With datamodule.query1 do

being

    SQL.add('SELECT ' +

            'tabcompositor.codcompositor as Código, ' +

            'tabcompositor.nome as Nome, ' +

            'tabcompositor.datanasc as [Data Nasc.], ' +

            'tabcompositor.origem as Origem ' +

            'FROM tabcompositor ' +

            'WHERE codcompositor = codcompositor ');

Ate aqui eu selecionei todos os campos que precisava(exatamente como estava na tabela, com a mesma estrutura, pro usuario não notar a diferença)

     if TRIM(enome.Text) <> '' then

     begin

       SQL.Add(' AND');

       SQL.Add(' UPPER(tabcompositor.nome) LIKE :enome');

       ParamByName('enome').AsString := '%' + enome.Text + '%';

Se o edit para buscar nome estiver preenchido, ele adiciona no SQL mais uma declaracao, selecionando somente os campos que tem o nome parecido

Se não me engano em Paradox, ao invés de ParamByName, usa-se Params

     end;

     if TRIM(eorigem.text) <> '' then

     begin

       SQL.Add(' AND');

       SQL.Add(' UPPER(tabcompositor.origem) LIKE :eorigem');

       ParamByName('eorigem').AsString := '%' + eorigem.Text + '%';

Mesma coisa, só que aqui está relacionando a Origem

     end;

Nesse exemplo (ao contrario do locate, você pode usar mais de uma sentença, por exemplo: achar todos os Compositores em que no nome contenham ADO, e que como origem tenham BRASIL)... Só que dai você vai precisar de uma query e mudar o source do Grid da tabela para o Query....

Espero que tenha ajudado

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,3k
×
×
  • Criar Novo...