Utilizo o SQL Server 2008 R2.
Dados: https://mega.co.nz/#!goEQWaZL!z94kWOXesCY_kzRCUL9qSnWTlCbnTNYq5CqRhz8ulPg
Tentei um IF de TODAS as maneiras, mas nada fez com que fosse exibidas somente as perguntas referente a cada etapa.
Nao tenho sql server na minha rede. Vou simular em outro banco.
Haroldo, descobri o comando pra pegar a variável do subselect :
foreach ({Etapa} as $NM_ind => $Dados){
$quebra = {Etapa.Cod_Etapa}[$NM_ind]; -------> Esse comando não esta salvando o valor da variavel Cod_Etapa na $quebra. Porque?
sc_pdf_print_sub_sel($cell_Etapa_Cod_Visita[$NM_ind]);
sc_pdf_print_sub_sel($cell_Etapa_Cod_Etapa[$NM_ind]);
sc_pdf_ln(5);
foreach ({Formulario} as $NM_ind2 => $Dados2){
if ({Formulario.Cod_Etapa}[$NM_ind2] == [color=blue]$quebra[/color]){ --------> Esse comando funciona se eu trocar $quebra por algum numero, tipo 1 ou 2. ou seja, o problema realmente é lá em cima.
sc_pdf_print_sub_sel($cell_Formulario_Cod_Perg[$NM_ind2]);
sc_pdf_print_sub_sel($cell_Formulario_Cod_Etapa[$NM_ind2]);
sc_pdf_print_sub_sel($cell_Formulario_Desc_Perg[$NM_ind2]);
sc_pdf_print_sub_sel($cell_Formulario_Resposta[$NM_ind2]);
sc_pdf_print_sub_sel($cell_Formulario_OBS[$NM_ind2]);
sc_pdf_ln(5);
}
}
}
Note as linhas coloridas. Os comandos {Etapa.Cod_Etapa}[$NM_ind], {Formulario.Cod_Etapa}[$NM_ind2] são idênticos.
O que muda de um para o outro é que a consulta SQL do subselect ETAPA possui um group by e na consulta SQL do subselect FORMULARIO não tem group by. Será que é por isso?
Como resolvo?
Olá Pessoal,
O problema deste tópico foi resolvido com o código acima.
Pro código em vermelho funcionar, tive que refazer a subselect. Após refeito, começou a quebrar o relatório por Cod_Etapa conforme eu queria.
Porém, agora surgiu outros 2 problemas que eu vou relatar em outro tópico.
Em anexo a imagem de como ficou o meu relatório.
Notem que faltam detalhes, justamente o que vou abrir no outro tópico.
Obrigado pela ajuda e atenção Haroldo!