GARANTIR DESCONTO

Fórum Como filtrar os itens do DBLookupComboBox? #204791

07/01/2004

0

Ola galera!!!

Pessoal estou com um problema que é o seguinte, tenho um formulário no meu sistema, e nele possui um DBLookupComboBox, que seus itens exibem todos os fornecedores cadastrados, e ai vem o problema, no campo seguinte é o nome do produto que precisa ser exibido nos itens, este campo também será um DBLookupComboBox . Existem inúmeros produtos cadastrados com fornecedores diferente. Como faço para filtrar os produtos a serem exibido no DBLookupComboBox ,somente os produtos que são do fornecedor setado no campo anterior, e ao colocar o produto também será preenchido automaticamente um outro edit com o valor do produto.


Teoprog

Teoprog

Responder

Posts

07/01/2004

Nigro

Tente com master/detail


Responder

Gostei + 0

07/01/2004

Pedro Bugim

Eu geralmente faço isso de um jeito meio comprido... mas sempre funciona! Espero que ajude.
Primeiro, neste exemplo, estarei utilizando para Fornecedores o LookUpCB1 e para Produtos, LookUpCB2. Crie uma query e um Datasource para cada.
Ligue o datasource1 à Query1 e datasource2 à query2. Na Query1, faça um select puxando todos os fornecedores na propriedade SQL.
Nas propriedades KeyField, ListField e ListSource coloque fornecedor, fornecedor e DataSource1, respectivamente. Pronto: O LookUpCB1 estará com os dados dos fornecedores.
Agora, na query2 faça um select puxando os dados dos produtos. Mude a propriedade enabled do LookUpCB2 para false e nas propriedades KeyField, ListField e ListSource coloque produto, produto e DataSource2, respectivamente. Crie um edit que receberá o nome do fornecedor escolhido e servirá de ´ponte´ para a localização dos produtos referentes à esse fornecedor. (aqui eu o chamei de edit1)
Finalmente, no evento OnClick do LookUpCB1 coloque:

begin
Edit1.text:=Query1.FieldByName(´Fornecedor´).Asstring;
With query2 do
begin
Close;
Sql.Clear;
Sql.Add(´Select produto from produtos where fornecedor=´+quotedstr(Edit1.text)+´´);
open;
end;
DBLookupComboBox2.enabled:=true;
end;

Isso fará aparecer no LookUpCB2 todos os produtos referentes ao fornecedor selecionado no LookUpCB1!
Qualquer dúvida, escreva.
Abraços,


Responder

Gostei + 0

09/01/2004

Teoprog

Valeu cara a dica que você me deu foi muito boa e deu certo no meu sistema.

Muito obrigado e até +.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar