SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Crystal Reports => Mensaje iniciado por: puchungon en Martes 1 de Mayo de 2012, 16:30

Título: Problemas con formulas en crystal 7
Publicado por: puchungon en Martes 1 de Mayo de 2012, 16:30
 :angel: Buenas compañeros soy nuevo en el foro y tengo un problema con una formula,  :scream: tengo una aplicacion en vb6 con crystal reports 7 donde me rellena un informe de resultados de un paciente pero que pasa una de las formulas no me manda error pero no hace lo que se pide.

No se si es pq tiene muchos if miren el codigo haber si alquien me ayuda.
Código: [Seleccionar]
if tonumber({vs_informe.peso_kg}) < tonumber({vs_informe.peso1_n17ohp}) then //1.50
 
   if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp}= '1' then
       {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp}= '1' then
       "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
       {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
       "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
       {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango1_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
       "***"

else if tonumber({vs_informe.peso_kg}) >= tonumber({vs_informe.peso1_n17ohp}) then //1.50

   if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      "***"

else if tonumber({vs_informe.peso_kg}) < tonumber({vs_informe.peso2a_n17ohp}) then //2.49

   if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      "***"

else if tonumber({vs_informe.peso_kg}) >= tonumber({vs_informe.peso2_n17ohp}) then //2.49

   if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango2_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      "***"
   
else if tonumber({vs_informe.peso_kg}) > tonumber({vs_informe.peso3_n17ohp}) then //2.50

    if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      "***"

else if tonumber({vs_informe.peso_kg}) <= tonumber({vs_informe.peso3_n17ohp}) then //2.50

   if tonumber({vs_informe.concentracion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      {vs_informe.concentracion_n17ohp}
   else if tonumber({vs_informe.concentracion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '1' then
      "***"
   else if tonumber({vs_informe.repeticion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      {vs_informe.repeticion_n17ohp}
   else if tonumber({vs_informe.repeticion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp}= '2' then
      "***"
   else if tonumber({vs_informe.confirmacion_n17ohp}) < tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      {vs_informe.confirmacion_n17ohp}
   else if tonumber({vs_informe.confirmacion_n17ohp}) >= tonumber({vs_informe.rango3_n17ohp}) and {vs_informe.contador_n17ohp} = '3' then
      "***"
 
Nota: en esta seccion la formula verifa un peso si es correcto debe ingresar y ejecutar los otros if pero  hasta aqui fuenciona cuando le agrego el segundo if es que no entra y me imprime vacio y ya he reestructurado la formula mas de 4 veses y no se como hacer ya que no me manda error en ningun lado de la formula...... :ball: