Bom dia
Criei um campo manualmente no filtro para data. Tratei ele no evento onValidate. Registrei o valor em uma variável Global.
No evento onScriptIni da consulta, coloquei o seguinte código:
if (!empty([cond_data])){
sc_select_where(add) = " and [cond_data]";
}
Porém, quando uso o filtro, o script case está colocando um parêntese no inicio do SQL e no final, e o parâmetro do where fica fora. Em outra aplicação fiz da mesma forma e funcionou certo. Alguém sabe o por que que que acontece isso???
Segue abaixo o erro:
ERRO
Erro ao acessar o banco de dados
Incorrect syntax near the keyword ‘and’.
select count(*) from (SELECT OPR.NumeroProducao, OPR.CodFormula, OPR.CodLinha, CF.CodProd, CP.CodGrupoProd, OPR.Controle, OprB.DataInicioBatelada, OprB.NumeroBatelada, OPR.QuantBatPV, (cast(OprB.NumeroBatelada as varchar(5))+ ‘/’+ cast(OPR.QuantBatPV as varchar(5))) AS TotBat, OPR.NumeroLotePA, OprB.CodSiloDestino, (cast(OprB.TempoMistSeco as varchar(5))+’ s’) as TempoMistSeco, (cast(OprB.TempoMistUmido as varchar(5))+’ s’) as TempoMistUmido, (cast(OprB.TempoMistTotal as varchar(5))+’ s’) as TempoMistTotal, (select sum(PesoDosado) from OPR_Producao_Reg_Bat_Item OprBI2 WHERE OprBI2.NumeroProducao = OPR.NumeroProducao and OprBI2.NumeroBatelada = OprB.NumeroBatelada) as PesoDosado FROM dbo.Opr_Producao_Reg OPR Left Join Opr_Producao_Reg_Bat OprB on (OprB.NumeroProducao=OPR.NumeroProducao) Left Join Cad_Formula CF on (OPR.CodFormula = CF.CodFormula) Left Join Cad_Produto CP on (CF.CodProd = CP.CodProd) left join OPR_Producao_Reg_Bat_Item BatRI on (BatRI.NumeroProducao = OPR.NumeroProducao and BatRI.NumeroBatelada = OprB.NumeroBatelada) WHERE OPR.CodFormula is not null ) nm_sel_esp and convert(varchar(19), BatRI.DataInicioDosagem, 121) = convert(varchar(19), ‘2014-08-27 16:13:59’, 121)
