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

Problemas com DBLookupListBox


hideki

Pergunta

Pessoal, estou utilizando com problemas no evento OnKeyDown e OnKeyUp de um TDBLookupListBox. O que está acontecendo é o seguinte: quando ando pelo banco de dados com no TDBLookupListBox com as Setas direcionais era para aparacer no TDBText a descricao do Procedimento , só que está havendo um atraso, por exemplo: quando estou no procedimento A e passo para o Procedimento B, o DBText está recebendo o procedimento A, se passo para o procedimento C, o DBText passa a receber o B,. Como faço para resolver isso? No meu DataSet esta tudo perfeitamente funcionando, utilizando o evendo OnClick funciona perfeitamente.

If Key = VK_Up then

begin

dmUnimed.qryAuxAmb92_1.Close;

campo:= dbLFamilia.KeyValue;

dmUnimed.qryAuxAmb92_1.SQL.Clear;

dmUnimed.qryAuxAmb92_1.SQL.Add('select * from AMB92GRUPO where cod_familia = '+campo+' order by descricao');

dmUnimed.qryAuxAmb92_1.Open;

dbtCodigo.Caption := dbLFamilia.KeyValue+'.XX.XXX/X';

end;

If Key = VK_Down then

begin

dmUnimed.qryAuxAmb92_1.Close;

campo:= dbLFamilia.KeyValue;

dmUnimed.qryAuxAmb92_1.SQL.Clear;

dmUnimed.qryAuxAmb92_1.SQL.Add('select * from AMB92GRUPO where cod_familia = '+campo+' order by descricao');

dmUnimed.qryAuxAmb92_1.Open;

dbtCodigo.Caption := dbLFamilia.KeyValue+'.XX.XXX/X';

end;

Se alguém puder me dar um HELP agradeço!

Atenciosamente

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
quando ando pelo banco de dados com no TDBLookupListBox com as Setas direcionais era para aparacer no TDBText a descricao do Procedimento
hideki, me diga uma coisa: esta descrição que você mostra em um TDBText está na mesma tabela que você utiliza para buscar os dados para seu TDBLookupListBox?

Mesmo assim, independente da resposta, observe o seguinte:

select * 
from AMB92GRUPO where cod_familia = campo
order by descricao

- quantas colunas você realmente precisa desta consulta? Traga apenas o essencial.

- esta tabela tem um índice que utilize o campo sendo filtrado, pelo menos em seu início? A existência de índices possibilita ao gerenciador do banco, "ir" direto ao ponto e trazer apenas a informação que interessa - não tem que varrer toda a tabela. Imagine uma tabela com algumas milhares de linhas sendo "varrida" de "cabo-a-rabo", com dezenas de campos e vários usuários a acessando concorrentemente?

O procedimento que você implementou em dois eventos (KeyUp e KeyDown), voce poderia colocá-lo no evento OnDataChange do DataSource vinculado a propriedade ListSource do seu TDBLookupListBox. Assim, você só faz algum processamento quanto houver mudança do item visualizado - nada de testar a cada tecla pressionada. Mas isto é só sugestão, não é relevante ao problema.

Abraços

Editado por Micheus
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...