No exemplo seguinte vamos utilizar um relatório com mais bandas e com o relatório filho constituído por consulta SQL a fim de exemplificarmos a passagem de parâmetros do relatório pai para filho. No relatório pai utilizaremos a seguinte estrutura; - Detalhe1 – Tabela de Seções (PSECAO). -- Sub-Detalhe1 – Sem ligação. ---- Detalhe2 – Controle Sub-Relatório. ![](/download/attachments/243630710/image2019-9-9_17-38-39.png?version=1&modificationDate=1568061520243&api=v2&effects=drop-shadow)
Expandir |
---|
title | Obs.: Para inclusão do controle Sub-Relatório: |
---|
| Acesse o menu “Caixa de Ferramentas | Controles Avançados”, selecione o controle “Sub-Relatório”. Clique sobre o controle e mantendo o botão esquerdo do mouse pressionado, arraste o controle para o local desejado da estrutura do relatório. Image Added Aviso |
---|
| Caso o menu “Caixa de Ferramentas” não esteja visível acesse o menu “Exibição | Janelas | Caixa de Ferramentas”. |
|
No relatório filho, criaremos uma consulta SQL para retornar as informações do relatório. A consulta SQL terá o seguinte contexto; Bloco de código |
---|
| SELECT PFUNC.CODSECAO,
PFUNC.CHAPA,
PFUNC.NOME,
PFUNC.SALARIO
FROM PFUNC ( NOLOCK )
WHERE PFUNC.CODSECAO = :CODIGO1 |
Na consulta SQL acima utilizaremos retornaremos dados dos funcionários de uma determinada seção. Utilizaremos o campo CHAPA1 CODIGO1 como parâmetro . Este campo corresponde ao campo CHAPA do relatório pai.para definir de qual seção os funcionários litados são correspondentes. Este campo, CODIGO1 (Código identificador da seção) está incluso no relatório pai.
Expandir |
---|
title | Obs.: Como realizar a associação do relatório filho no Sub-Relatório |
---|
| Para realizar a associação do relatório filho ao controle Sub-Relatório, clique sobre o controle e acesse suas propriedades pela smart tag, clique sobre a caixa na propriedade "relatório" e em reticências na pesquisa pelo registro. Image Added
Ou selecione o controle e tecle F4 para apresentação das propriedades do controle. Na grade de propriedades selecione “Dados | Relatório”. Na caixa de pesquisas procure pelo código do relatório filho. Image Added
Image Added
Diferente do relatório constituído por campo da base, quando fazemos a associação do relatório filho através do controle “Sub-relatório” não é necessário informar o “caminho”, o próprio campo do relatório pai utilizado como parâmetro na consulta SQL do relatório filho fará essa função. Image Added
| Image Added
|
---|
|
Concluída a associação do relatório pai com relatório filho através do controle “Sub-Relatório”, basta salvar e gera-lo. Ao final do nosso exemplo, no preview, teremos o relatório pai grifado na cor verde e as informações do relatório filho em vermelha. Image Added
Aviso |
---|
| Reforçamos que relatórios filhos baseados em consultas SQL que esperam parâmetros do relatório pai, não podem possuir campos em sua estrutura com a mesma nomenclatura do parâmetro do relatório pai. No exemplo em uso o campo do relatório pai se chama CHAPA1 e no relatório filho temos outro campo com a mesma nomenclatura, sendo assim o campo CHAPA1 do relatório filho deve ser renomeado para CHAPA2, por exemplo.
|
|