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

Pesquisa Com Filtro Em Dblookupcombo


Guest Antonio Jose

Pergunta

Guest Antonio Jose

Pessoal...

meu problema é o seguinte:

eu tenho uma tabela fornecedores (paradox), e um DBLookupCombo ligado a essa tabela para que eu possa escolher o fornecedor quando estou cadastrando

alguma compra.

Como eu tenho muitos fornecedores, demoro muito pra encontrar no DBLookupCombo, apesar dele estar em ordem alfabética. Quando eu digito um fornecedor que começa com a letra T, ele vai automatico para essa letra. Mas mesmo assim aparece todos os outros fornecedores.

O que eu queria, era que quando fosse digitando, o DBLookupCombo já aparecesse somente o resultado da digitação, se eu colocar a letra T, sairia todos com a letra T, mas quando eu colocasse outra letra depois do T, como está, logo o os fonecedores que apareceria seria está..... despresando todos os outros.

Isso é possivel ?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

É possivel ... não me parece prático.

Temos duas hipóteses :

1 - Estás a usar TTable para lêr os fornecedores:

Podes usar o Event onKeyPress do DbLookupCombo em conjunto com o filter da TTable para reduzir o nº de campos lidos da tabela.

Esta operação é também bastante lenta.

2 - Estás a usar TQuery para lêr os fornecedores:

De novo com o envent de onKeyPress podes alterar o sql do query, fechar e voltar a abrir.

Mais uma vez, tens o problema da velocidade no acesso aos dados.

Dúvido que alguma destas soluções te vá dar mais velocidade.

Se quiseres, experimenta. Se tiveres dúvidas em relação ao código necessário para fazer isto, diz.

Link para o comentário
Compartilhar em outros sites

  • 0

Você também pode criar um form para fazer uma consulta de fornecedor, assim:

você cria um form para consulta de Fornecedor, vou chamar de "FormConsFor"

Coloca um botão ao lado do DBLookupCombo para abrir o FormConsFor, no FormConsFor você coloca:

edit, 2 Botão, Query, DataSouce e Dbgrid,

no primeiro botão você faz assim:

with query1 do
begin
close;
sql.clear
sql.add('select CodigoFornecedor, fornecedor');
sql.add('from tabelaFornecedor');
sql.add('where Fornecedor like :A');
parambyname('A').value := % + edit1.text + %;
open;
end;
no segundo botão você faz assim:
tableCadFornCodigoFornecedor.Value := (FormConsFor.query1codigoFornecedor.Value);
FormConsFor.close;

Tenta isso.

Abraço.

Editado por Pirambu!
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...