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

Query.locate


hermes_barrasoft

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

Se você está digitando o conteúdo parcial e espera posicionar no item mais próximo do digitado, então tente adicionar as opções do locate:

- loCaseInsensitive => não diferencia maiúscula de minúsculas

- loPartialKey => procura no compo desejado, o valor que inicia com o informado (Edti1.Text)

Query.Locate('nome_do_campo', edit.text, [loCaseInsensitive, loPartialKey]);

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Muito obrigado, Micheus...

Estou começando o trabalho com Query... e o locate na Table não precisa destes parametros... até que tentei isso mas não havia declarado a unit MB...

dai fiquei desesperado...

Isso resolveu...

Obrigado...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest FalconSoft Desenvolvimento

Ola meu amigo eu tenho uma consulta sensativa

ela e bem simples de ser feita

no onchange do edit

whit datamodule.sqlconsulta do

begin

sql.clear;

sql.add (' Select * From Clientes where nome like:varnome')

Parambyname ('Varnome').asstring:= Edit1.text +'%'

Close;

Open;

End;

End;

você gosta de simples exemplo

Link para o comentário
Compartilhar em outros sites

  • 0

hermes_barrasoft,

apenas exclarecendo, a diferença entre os dois métodos é o seguinte:

- no 1º você tem todos os registros no grid e navega (posiciona) para o registro mais próximo daquele que você está digitando

- no 2º, cada caracter digitado, vai restringindo o seu resultado de modo que terá apenas os registros que começam com o texto digitado.

O caracter % concatenado ao parâmetro indica que serão listados todos os registros que começam com o conteúdo digitado e sejam seguidos por qualquer coisa. Se você desejar procurar por registros que contenham o texto digitado em qualquer posição do campo, deve colocar também um % no início do parâmetro (Parambyname('Varnome').asstring:= '%'+Edit1.text+'%').

O uso de um ou outro método, depende de como você pretende apresentar sua consulta.

Também, mais um item de otimização: Quando você tem sua consulta (query) estática (um componente TQuery com o SQL pronto, necessitando apenas do parâmeto), no momento de modificar a consulta não há necessidade de "zerar" seu conteúdo (SQL.Clear); Basta que seja fechada a consulta (Close), inicializado o parâmetro e aberta a consulta (Open). Adaptando o exemplo do colega FalconSoft Desenvolvimento:

procedure TForm1.EditChange(Sender :TObject);
begin
  whith datamodule.sqlconsulta do
  begin
    Close;
    Parambyname ('Varnome').asstring:= Edit1.text +'%'
    Open;
  End;
End;

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...