Bom dia, criei uma aplicação de consulta e filtro. No filtro, criei o campo “tipo”: - Tipo de seleção, do tipo radio. Gostaria que se o usuário clicasse no primeiro radio, executasse o seguinte select:
$sql_tipo = "SELECT COUNT() as bateladas, "
."CF.Descricao, "
."CP.CodGrupoProd, "
."sum(BatRI.PesoDosado) as PesoDosado "
."FROM Opr_Producao_Reg OPR "
."left join Opr_Producao_Reg_Bat BatR on (BatR.NumeroProducao = OPR.NumeroProducao) "
."left join Opr_Producao_Reg_Bat_Item BatRI on (BatR.NumeroBatelada = BatRI.NumeroBatelada and BatR.NumeroProducao = BatRI.NumeroProducao) "
."Left Join Cad_Formula CF on (OPR.CodFormula=CF.CodFormula) "
."Left Join Cad_Produto CP on (CF.CodProd=CP.CodProd) "
."where OPR.CodFormula is not null "
."GROUP BY CF.Descricao, CP.CodGrupoProd "
."ORDER BY CF.Descricao, CP.CodGrupoProd ";
e se selecionasse o segundo executasse o seguinte select:
$sql_tipo = "SELECT COUNT() as bateladas, "
."CP.Descricao, "
."CP.CodGrupoProd, "
."sum(BatRI.PesoDosado) as PesoDosado "
."FROM Opr_Producao_Reg OPR "
."left join Opr_Producao_Reg_Bat BatR on (BatR.NumeroProducao = OPR.NumeroProducao) "
."left join Opr_Producao_Reg_Bat_Item BatRI on (BatR.NumeroBatelada = BatRI.NumeroBatelada and BatR.NumeroProducao = BatRI.NumeroProducao) "
."Left Join Cad_Formula CF on (OPR.CodFormula=CF.CodFormula) "
."Left Join Cad_Produto CP on (CF.CodProd=CP.CodProd) "
."where OPR.CodFormula is not null "
."GROUP BY CP.Descricao, CP.CodGrupoProd "
."ORDER BY CP.Descricao, CP.CodGrupoProd ";
Já coloquei no evento onValidate do form usando o sc_exec_Sql mas náo funcionou. Tentei no evento onScriptIni, usando a função sc_select, mas nenhum funcionou.
segue abaixo todo meu código do evento onScriptIni da consulta. O que está faltando para mudar o select??
if ({tipo} == 1) {
$sql_tipo = "SELECT COUNT() as bateladas, "
."CF.Descricao, "
."CP.CodGrupoProd, "
."sum(BatRI.PesoDosado) as PesoDosado "
."FROM Opr_Producao_Reg OPR "
."left join Opr_Producao_Reg_Bat BatR on (BatR.NumeroProducao = OPR.NumeroProducao) "
."left join Opr_Producao_Reg_Bat_Item BatRI on (BatR.NumeroBatelada = BatRI.NumeroBatelada and BatR.NumeroProducao = BatRI.NumeroProducao) "
."Left Join Cad_Formula CF on (OPR.CodFormula=CF.CodFormula) "
."Left Join Cad_Produto CP on (CF.CodProd=CP.CodProd) "
."where OPR.CodFormula is not null "
."GROUP BY CF.Descricao, CP.CodGrupoProd "
."ORDER BY CF.Descricao, CP.CodGrupoProd ";
} else {
$sql_tipo = "SELECT COUNT() as bateladas, "
."CP.Descricao, "
."CP.CodGrupoProd, "
."sum(BatRI.PesoDosado) as PesoDosado "
."FROM Opr_Producao_Reg OPR "
."left join Opr_Producao_Reg_Bat BatR on (BatR.NumeroProducao = OPR.NumeroProducao) "
."left join Opr_Producao_Reg_Bat_Item BatRI on (BatR.NumeroBatelada = BatRI.NumeroBatelada and BatR.NumeroProducao = BatRI.NumeroProducao) "
."Left Join Cad_Formula CF on (OPR.CodFormula=CF.CodFormula) "
."Left Join Cad_Produto CP on (CF.CodProd=CP.CodProd) "
."where OPR.CodFormula is not null "
."GROUP BY CP.Descricao, CP.CodGrupoProd "
."ORDER BY CP.Descricao, CP.CodGrupoProd ";
}
sc_select(meus_dados, $sql_tipo);
if ({meus_dados} === false)
{
echo "Erro de acesso. Mensagem = " . {meus_dados_erro};
}
else
{
while (!$meus_dados->EOF){
{bateladas} = $meus_dados->fields[0];
{Descricao} = $meus_dados->fields[1];
{CodGrupoProd} = $meus_dados->fields[2];
{PesoDosado} = $meus_dados->fields[3];
$meus_dados->MoveNext();
}
$meus_dados->Close();