Ir al contenido principal

Crystal Reports - Concatenando Nombre y Apellido cuando hay Nulos (NULL)

Es muy probable que cuando manejes nombres y apellidos de una tabla de clientes o contactos, muchos de estos vengan vacios o en nulo. Al tener estos valores, el reporte en Crystal no despliega nada ya que al conctenar un valor nulo (suponte sea el nombre) con otro valor no nulo (suponte sea el apellido), el resultado es un valor en blanco o vacio (no visible en el reporte). Esto puede ser frutrante y ocasionarte horas de investigación y tiempo perdido. Bueno, para evitar estos s3, utiliza el siguiente código en una fórmula:

StringVar Firstname;

StringVar Lastname;

StringVar Contact;
if isnull({CONTACT.FIRSTNAME}) then Firstname := "" else Firstname := {CONTACT.FIRSTNAME};

if isnull({CONTACT.LASTNAME}) then Lastname := "" else Lastname := {CONTACT.LASTNAME};

Contact := Firstname & " " & Lastname;

If trim(Contact) <> "" Then Trim(Contact) else "---------";

Como puedes ver, es bastante sencillo evitar este percance. La ultima línea te servirá solamente si quieres mostrar algún carácter (es) que expresen que el valor está vacío.

Otra opción más rápida de lograr lo mismo sería:

Firstname := IIF(isnull({TARJETASCREDITO.PRINCIPALFIRSTNAME}), "", Trim({TARJETASCREDITO.PRINCIPALFIRSTNAME}));

Lastname  := IIF(isnull({TARJETASCREDITO.PRINCIPALLASTNAME}), "", Trim({TARJETASCREDITO.PRINCIPALLASTNAME}));


If Lastname = "" Then Firstname Else Firstname & " " & Lastname


Este code fue probado en Crystal Reports XI

Comentarios

Entradas populares de este blog

Error al recuperar un generador de clases COM para el componente con CLSID {############} debido al siguiente error: 80040154

Hello Everyone!! Realmente no se si este mensaje de error es genérico o específio. Por ende, voy a decirles que si están: - Usan Visual Studio 2010 - Windows 7 x64 - Y tan trantando de correr un programa desarrollado en una versión anterior al VS 2010 y que hace referencia a DLL's, entonces chequeate este video, porque te va a dar la solución: www.youtube.com/watch?v=pDtyGns6mOw Fin!!!

Consultas SQL basadas en fecha y/o hora

Manejando SQL Server 2005, me encontre que tratando hacer consultas basadas en fechas, obtenía como resultado nada (empty). Esto se debía a que no tenía claro como trabajan los tipos de dato datetime y smalldatetime. Estos dos tipos de datos son muy similares, se diferencia en que datetime es más detallado a la hora de almacenar la fecha. Estas diferencias pueden ser vistas en la siguiente tabla: Tipo Minimo Maximo Precision datetime Ene 1, 1753 media-noche Dic 31, 9999 23:59:59.997 (0.003 segundos hasta la media-noche) Más cercano 3.33 millisegundos smalldatetime Ene 1, 1900 media-noche Jun 6, 2079 23:59 (un minuto hasta la media-noche) Más cercano al mínuto Ambos, representan una fecha y hora que es igual al número de días en relación a una fecha base. En SQL Server la fecha base es la medianoche del 1 de Enero de 1900 . Observando la tabla, el tipo de dato smalldatetime, puede solo representar fechas desde esta fech...

Como Aplicar un Patch a un Programa en Linux (How to Apply a Patch en Linux)

Los comandos aplicados en este articulo fueron realizados en la distro Kali 1.0 (based in Debian) Una de las ventajas de los programas (software) open source es que podemos descargar los paquetes fuentes de estos que son los que contienen todos los codigos fuentes. Con ellos podriamos, modificar el mismo y crear nuevas funcionalidades (features) o corregir algun fallo. Para mantener un orden o integridad, es bueno que las modificaciones hechas al paquete fuente original, se realicen en un patch file. El patch file es un archivo que debe aplicarse al codigo fuente original utilizando el comando con el nombre patch . Que contiene un archivo patch? Contiene lineas de codigo fuente de uno o mas archivos contenidos en el paquete fuente original. La extension de un archivo patch es .patch Consideraciones Cosas que hasta el momento no encontre en la Web y que debes de saber de como aplicar un Patch son: 1.  El patch se aplica al paquete fuente de la aplicacion que deseas apli...