Formulas do excel no forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

Bom Dia Pessoal
Tenho uma formula aqui no excel.
QUe já tentei fazer no form, só que não sai com o mesmo resultado que ta no excel.

No Excel está assim
Primeiro Calculo
=183+356*POTÊNCIA(B6;3)+33,1*A6
Segundo Calculo
=D6*1000(com o nome cientifico, 3,4E+06)
Terceiro Calculo
=$F6*$G6(ou seja, Segundo calculo * um valor colocado pelo usuario. ex. 250.000, coluna I6)
Campo J6. Esta dessa maneira.
6,00E+11(o numero é inserido pelo usuario).
Quarto Calculo(campoL6)
=$I6-$J6(nome cientifico, 2,4E+11)

Ultimo Calculo

=$L6/$F6. 71.985.

Como eu poderia fazer esses calculos no form.

Meu calculo no forms esta assim

Selecionar tudo

if sexo = 'M' then
    	aux := (604 + 367 * power(altura,3))+ (32.2 * peso);
     aux2 := aux * 1000;
  elsif sexo = 'F' then
    	aux := (183 + 356 * power(altura,3))+ (33.1 * peso);
     aux2 := aux * 1000;
  end if;
  
    
       if resultado > 0 then
     	    pl_circulacao := aux2 * resultado;
     	    
   
       end if;
          ps_resul := (:tl_resul* 100000000000) - pl_circulacao;

     	 
     if ps_resul > 0 then
      	tt_resultado := ps_resul/aux2;
     end if;

Obrigada
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Aparentemente não vejo problemas na lógica..

Qual a diferença entre o valor esperado e o obtido? Você
teria alguns exemplos?

Provavelmente deve estar ocorrendo algum erro de arredondamento... confira como estão declarados todos os campos e variáveis envolvidas nos cálculos (tamanho e precisão), e se todos são do tipo number (para evitar qualquer problema de conversão)

No pior caso, tente mostrar o valor a cada passo, e comparar com o que está no excel com os mesmos parâmetros.. não teria por que não funcionar.
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

Bom Dia Rogenaro
Então eles estão declarados como number. Somente isso
E o valor me passar assim por exemplo. 72187,9987.
No excel ele saiu dessa maneira: 72,188.
Preciso que saia igual ao do excel..

Obrigada pela ajuda
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Será que não é só questão de formatação do resultado?

O resultado que você obteve (72187,9987), se divido por 1000 e arredondado para 3 casas decimais com o round vai retornar 72,188 também..

No excel, a célula do resultado por acaso está formatada para exibir apenas 3 casas decimais?
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

TA assim no excel
Código de formato
#.##0
mais não tem nada sobre casa decimais ta igual a 0
Mais vou tentar com o round
Responder
  • Informação