Luiz Fernando Posted September 10, 2015 Report Share Posted September 10, 2015 Colegas sera que alguém teria uma solução para o seguinte problema na instrução abaixo se o valor de custo for zero da erro SQLBeginTrans() cSql:="UPDATE produto SET" cSql+=" valor="+Any2Sql(cVlrAtu)+" ," cSql+=" marg1 =("+Any2Sql(cVlrAtu)+"-custo)*100/custo" cSql+=" WHERE codigo ='"+cCodigo+"'" sqlexecute(cSql) if SQLErrorNO() > 0 fMensagem() return(.f.) endif SQLExecute("commit") SQLRollBack() SQLEndTrans() SQLRefresh() tentei usar a condição IF mais acho que no UPDATE não é aceito SQLBeginTrans() cSql:="UPDATE produto SET" cSql+=" valor="+Any2Sql(cVlrAtu)+" ," cSql+=" IF(custo>0, (marg1 =("+Any2Sql(cVlrAtu)+"-custo)*100/custo), marg1=0)" cSql+=" WHERE codigo ='"+cCodigo+"'" sqlexecute(cSql) if SQLErrorNO() > 0 fMensagem() return(.f.) endif SQLExecute("commit") SQLRollBack() SQLEndTrans() SQLRefresh() Obrigado Daryabite 1 Quote Link to comment Share on other sites More sharing options...
evandro Posted September 10, 2015 Report Share Posted September 10, 2015 Olá, Altere a linha para o modelo abaixo. cSql+=" marg1 = IF(custo>0, ("+Any2Sql(cVlrAtu)+"-custo)*100/custo), 0 ) " Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted September 10, 2015 Author Report Share Posted September 10, 2015 Olá, Altere a linha para o modelo abaixo. cSql+=" marg1 = IF(custo>0, (("+Any2Sql(cVlrAtu)+"-custo)*100/custo), 0 ) Colegas mais uma vez muito obrigado, rodou blz... Abraços Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.