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 retornaremos dados dos funcionários de uma determinada seção. Utilizaremos o campo CODIGO1 como parâmetro 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. 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. 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. ![](/download/attachments/243630710/image2019-9-9_18-35-47.png?version=1&modificationDate=1568064948253&api=v2&effects=drop-shadow)
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.
|
|