[firebase-br] [OFF TOPIC] Ajuda com Mestre-detalhe-detalhe

Bruno Nogueira bruno.nogueira em pgfinformatica.com.br
Ter Maio 27 17:31:31 -03 2008


Olá pessoal, uma boa tarde para todos!

Gostaria que vocês me ajudassem com a solução deste problema:
Tenho 3 tabelas (Genericas - Similar ao que realmente estou fazendo)

TblEmpresas
  COD (Primary Key)
  NOME Not Null
________________________

TblSetores
   COD (Primary Key)
   NOME Not Null
________________________

TblFuncionarios
   COD (Primary Key)
   NOME Not Null
________________________

TblEstruturaEmpresa
    Cod_Empresa (FOREIGN KEY REFERENCES TblEmpresas(COD)) Not Null
    Cod_Setor      (FOREIGN KEY REFERENCES TblSetores(COD)) Not Null
    Cod_Funcionario (FOREIGN KEY REFERENCES TblFuncionarios(COD)) Not Null

    Primary Keys(Cod_Empresa, Cod_Setor, Cod_Funcionario) O funcionário
poderá trabalhar em divesas empresas e em setores diferentes - Isto não vem
ao caso. Lembre-se que isto é similar à minhas tabelas reais.
_________________________

     Bom, a estrutura é essa aí.
    Agora tenho que especificar os ferramentas e soluções que estou
utilizando para criar o sistema:
                  Delphi 2007 for Win32 + Firebird 2.1.0.17798.
                  Acesso a Dados: IBX.

   Veja como ficou as IBQuery's que utilizei:

   IBQueryEmpresas:
     select distinct COD_EMPRESA, NOME
     from              TBLESTRUTURA_EMPRESA
     join                TBLEMPRESAS
     on                  COD_EMPRESA = COD

  IBQuerySetores
     select distinct COD_EMPRESA, COD_SETOR, NOME
                  from TBLESTRUTURA_EMPRESA
                   join TBLSETORES
                    on COD_SETOR = COD
               where COD_EMPRESA = :COD_EMPRESA

  IBQueryFuncionarios
      select distinct COD_EMPRESA, COD_SETOR, COD_FUNCIONARIO, DESCRICAO
                   from TBLESTRUTURA_EMPRESA
                   join  TBLFUNCIONARIO
                    on COD_FUNCIONARIO = COD
               where COD_EMPRESA = :COD_EMPRESA
                   and COD_SETOR = :COD_SETOR

A situação é o seguinte:

              Após setar as DataSources devidamente nas query´s tudo 
funcionou normalmente no Delphi.
              Porém meus problemas começaram quando criei um relatorio no 
RAVE REPORTS 7.5. Criei 3 DataBands linkados nos respectivos IBQuery´s, 
configurei as propriedades relativas ao Master/Detalhe e no relatório só sai 
o Nome da Empresa e os Setores. A listagem de funcionarios só sai no 
primeiro setor de cada empresa. Os outros setores são impressos um abaixo do 
outro sem os funcionários.

               Será que alguém poderia me ajudar?!









Mais detalhes sobre a lista de discussão lista