GARANTIR DESCONTO

Fórum Filtros em campos com COMBOBOX baseado em outro #267487

04/02/2005

0

Bom dia meus Amigos,

Agradeço a colaboração de vocês para uma tarefa que é simples para os experientes, mas um sofrimento para os iniciantes como eu. Tenho certeza que este tópico vai ser bastante ÚTIL, pois o que cito é muito utilizado.

Estou usando ADO com o Access. Criei um FORM onde tenho 4 componentes de pesquisa incremental da RXLIB (RXBDLOOKUPCOMBO) com os seguintes nomes: BANCO, AGENCIA, CONTA, CHEQUES DISPONIVEIS.

GOstaria de saber como implementar uma lógica que me permitisse filtrar um determinado COMBO, baseado no contéudo do Anterior. No meu sistema existem 3 tabelas: 1 de Bancos, 1 de Agencias e Contas e 1 de Taloes de Cheques. Se eu informar Banco Bradesco, por exemplo, quando eu for abrir o combo box de Agencias quero que apareçam somente as agencias do Bradesco. Depois de informar a Agencia ´PAULISTA´, quero que apareça automaticamente o número da CONTA que tenho nesta Agencia (Este campo será READONLY) no COMBO conta.

Sobre os taloes de cheques, aí está meu maior desafio, pois terei que verificar se um atributo chamado ´Talao liberado´ está marcado e no COMBOBOX só devera aparecer os números dos cheques que estejam liberados. Assim, se na tabela TALOES DE CHEQUES tivermos a sequencia 100000 a 1000020 de cheques está liberada, no COMBOBOX eu deverei apresentar os numeros: 100000, 100001, 100002, ... até 100020.

Acho que vou precisar criar vetores ou tabelas internas e usar rotinas de leitura das tabelas BANCOS x AGENCIAS X TALOES para implementar esta lógica, pois penso que o DELPHI não consegue fazer todo esse processo automaticamente.

O Delphi é muito BOM, mas nem tanto assim rs rs rs.

Muito Obrigado por qualquer AJUDA e desculpem o TEXTO LONGO. Não conseguir ser mais objetivo.

Alexsandro Áfio
PHILIPS do Brasil


Alexsandro

Alexsandro

Responder

Posts

04/02/2005

Paulo_amorim

Olá

Uma solução seria utilizar o relacionamento MasterDetail entre os DataSets...em um vc define o DataSet como sendo o outro, ele faria exatamente o que vc precisa.
Entretanto, nunca coloquei em execução, apenas fiz testes, então não poderia te dizer como se faz isso exatamente de forma correta. Mas nada que uma pesquisa no fórum não te ajude

Por outro lado, utilizando um método diferente, pode-se fazer uma pesquisa a cada vez que se escolher um item do combo.
Coloque no evento OnClick do combo o código de pesquisa na tabela, passando o conteúdo do Combo como parâmetro:

No combo banco: SELECT agencia FROM agencia WHERE banco = :bnc

No combo agencia: SELECT conta FROM conta WHERE banco = :bnc AND agencia = :ag

No caso dos talões liberados, basta colocar um filtro a mais na consulta caso o atributo esteja marcado.

Espero que ajude
Até+


Responder

Gostei + 0

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

Aceitar