Fórum Como filtrar os itens do DBLookupComboBox? #204791
07/01/2004
0
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
Curtir tópico
+ 0Posts
07/01/2004
Nigro
Gostei + 0
07/01/2004
Pedro Bugim
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,
Gostei + 0
09/01/2004
Teoprog
Muito obrigado e até +.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)