Limpando
o conteúdo selecionado em um DBLookupComboBox
Objetivo:
Limpar o conteúdo anteriormente
selecionado de um DBLookupComboBox.
A
chave está entre as propriedades
KeyValue
e KeyField.
Preencha
normalmente as propriedades ListSource
com o nome do DataSource
que está apontando para a Query com a consulta
SQL, depois preencha o ListField
com o nome do campo que será listado e finalmente (o
mais interessante para o nosso exemplo) preencha KeyField
com nome do campo chave da tabela. Esse campo também
pode ser o mesmo do ListField.
Atenção
Agora:
Se
o campo em KeyField
for numérico, para limpar use:
DBLookupComboBox1.KeyValue
:= -1;
Senão
se o campo for um String, para limpar use:
DBLookupComboBox1.KeyValue
:= '';
Selecionando um item já listado em um DBLookupComboBox
Objetivo:
Através de um click em um DBLookupComboBox
selecionar os dados em outro(s) já listado(s).
A
chave (novamente) está entre as
propriedades KeyValue
e KeyField.
Preencha
o ListSource
com o nome do DataSource
que está apontando para Query
com a consulta SQL, depois preencha o
ListField
com o nome do campo que será listado
e finalmente preencha KeyField
com nome do campo chave da tabela.
Atenção:
Se o campo em KeyField
for numérico a passagem do parâmetro também
deve ser numérico.
Exemplo
Prático : Temos
um DBLookupComboBox
com nome DBLcbo_cliente
preenchido pela Queryqry_cliente,
com as propriedades ListField
:= nome_cliente e KeyField
:= codigo_cliente. Temos
também um outro DBLookupComboBox
com nome DBLcbo_pedido
preenchido pela Queryqry_pedido,
com as propriedades ListField
:= cod_pedido e KeyField
:= cod_pedido, sendo que
entre a lista de variáves da Query
temos o campo cod_cliente. O
objetivo aqui é selecionar um número
de pedido num DBLookupComboBox
e automaticamente selecionar o respectivo
cliente em outro.
No
evento Click do DBLcbo_pedido
coloque a seguinte linha: