Anuncio

Colapsar
No hay anuncio todavía.

Consulta IF ELSE Crystal Reports

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Consulta IF ELSE Crystal Reports

    Saludos. tengo una duda al querer crear unas condiciones en crystal.
    Quiero que cuando el banco en el documento tenga el nombre del 'Banco 1' me traiga el nombre del socio de negocios y cuando el banco sea otro, no me traiga nada en el campo. Para ésto usé lo siguiente y está funcionando bien:
    IF({Comando.BankName} = 'BANCO 1') THEN
    {Comando.CardName}
    ELSE ''

    La duda que tengo es hacer lo mismo pero cuando el campo es numérico. Quiero que cuando el banco sea el 'Banco 1', me traiga el valor del documento y cuando el banco sea diferente al 'Banco 1' quede vacío el campo. Estoy usando el siguiente codigo:
    IF({Comando.BankName} = 'Banco 1') THEN
    {Comando.DocTotal}
    ELSE ''

    Ahi me arroja un error que dice que debe haber un número después del ELSE. Si pongo un número si funciona la formula pero yo quiero que el campo quede vacío si el banco no es el 'Banco 1'
    Gracias por su ayuda.


  • #2
    Hola,

    al poner ' ' le estás indicando que es un caracter, por ese motivo te reclama un número. La solución sería poner ELSE 0. o ELSE null.

    Por favor comentanos si te sirvió la solución.

    Comentario


    • #3
      Hola Juanma, gracias por responder.
      Pero cuando el campo no es numerico, si me permite poner ' ' indicando que es un espacio en blanco. Por ejemplo en la siguiente imagen:
      Haga clic en la imagen para ver una versión más grande

Nombre:	1.JPG
Visitas:	17
Size:	24,0 KB
ID:	37841
      Si el banco no es BBVA, entonces me deja el campo del socio de negocios vacío y eso es lo que quiero... el problema es cuando el campo es numérico (por ej "DocTotal"). Allí ya no puedo poner ' ' porque me reclama un número y si pongo ELSE 0 me imprime el 0 en el formato y lo que necesito es que quede vacío.
      Haga clic en la imagen para ver una versión más grande

Nombre:	2.JPG
Visitas:	17
Size:	27,2 KB
ID:	37842
      ELSE NULL no me lo permite


      Archivos Adjuntos

      Comentario


      • #4
        Hola!

        y probaste que muestre los 0 pero que después a nivel reporte le digas que no los muestre?

        Comentario


        • #5
          Ya me muestra los 0 en el reporte. pero ¿Como puedo hacer para que cuando sea cero no muestre nada y cuando sea diferente a cero me traiga el valor que debe ser?
          Estoy tratando de la siguiente manera:
          Haga clic en la imagen para ver una versión más grande

Nombre:	ceros.JPG
Visitas:	10
Size:	47,2 KB
ID:	37846
          Si el campo es cero, entonces me deja el espacio en blanco (así está bien). Pero si el campo no es cero, también me lo trae en blanco (y necesito es que me traiga el valor que es).

          Agradezco la colaboración

          Comentario


          • #6
            Lo único que te faltaría es ponerle el ELSE al CASE, lo probaste? siempre los CASE tienen los WHEN x WHEN x y finalmente un ELSE que sería lo que te está faltando en este caso.

            Comentario


            • #7
              Sí, si lo probé con ELSE pero me sacaba un error.

              Al final ya lo pude solucionar. Debía convertir el campo a String.
              Así:

              IF({Comando.BankName} = 'Banco 1')THEN
              CStr ({Comando.DocTotal})
              ELSE ' '

              Gracias juanma!

              Comentario


              • #8
                Originalmente publicado por nbello Ver Mensaje
                Sí, si lo probé con ELSE pero me sacaba un error.

                Al final ya lo pude solucionar. Debía convertir el campo a String.
                Así:

                IF({Comando.BankName} = 'Banco 1')THEN
                CStr ({Comando.DocTotal})
                ELSE ' '

                Gracias juanma!
                No me di cuenta de esa opción . Excelente que lo hayas logrado resolver

                Comentario

                Trabajando...
                X