PDA

Ver la Versión Completa : Crystal Reports_8 con valores nulos


arantzal
19-08-2005, 11:55:13
Buenasssss,
estoy generando informes de Crystal para llamarlos desde Delphi 2005. La cuestión es que dichos informes a veces me funcionan y a veces no, dependiendo de los valores que meta en las where. Despues de hacer varias pruebas he visto que cuando me devuelve ciertos valores a nulos me saca el informe en blanco. ¿Hay alguna forma de solucionarlo? ¿Puede ser alguna propiedad del CrystalReportViewer, o del diseño del informe?.
Gracias.
Saludos.

arantzal
22-09-2005, 15:37:28
Buenas, sigo con el mismo problema. He probado con la función isnull y nada.

¿A Alguien se le ocurre algo?. ¿Sabe alguien si hay alguna forma de dar valores por defecto a los campos en Crystal? Igual podría ser una solución no?.

Saludos.

arantzal
23-09-2005, 11:28:19
Buenas,
creo que el problema está en que tengo tablas relacionadas en SQL pero el campo de la relacion permite grabar nulos, al momento de crear el reporte en Crystal agrego las tablas relacionadas y cuando visualizo el reporte todo sale bien cuando los campos de la relacion tienen datos pero cuando alguno es nulo el reporte no me muestra ninguna informacion en ninguno de los demas campos del reporte.
Lo que no sé es cómo solucionarlo.
¿Alguna idea?.

Gracias de antemano.
Saludos.

ptt
23-09-2005, 17:24:23
Entra en Bases de Datos - Asistente de Vínculo Visual.
Si haces click con el botón derecho en un vínculo y eliges Opciones podrás cambiar el tipo de unión SQL a una que no sea de igual(=).

arantzal
26-09-2005, 10:06:42
Buenas,
antes que nada gracias ptt por contestarme.Estoy probando a cambiar el tipo de unión SQL de los vínculos, pero la cosa parece k empeora en vez de mejorar, xk ahora ni se abren los informes.
Alguna idea?
Saludos.

ptt
27-09-2005, 01:05:47
Si el informe sale en blanco es porque no hay registros que cumplan con la condición que pusiste en los vínculos. Suponiendo 2 tablas unidas por un campo ID_ALGO la unión "igual" trae solamente los registros que tienen el mismo ID en ambas tablas, no trae los que existen en la tabla 1 pero no en la tabla 2.

Usando la unión "Ext. Izq." trae los que tienen el ID en la tabla 1 y en la 2, y los que solamente estan en la tabla 1 pero no existen en la 2, es decir todos.

Ya me enredé, espero haber sido claro. Cualquier duda avisame.

arantzal
27-09-2005, 16:38:17
Buenas tardes,
yo aquí sigo con mi problemilla.
Ptt, ya entiendo lo que me has explicado, pero ni con esas .... No hay alguna forma de que al unir dos tablas, te saque todos los registros (los que tienen el mismo ID en ambas tablas, los que existen en la tabla 1 pero no en la tabla 2 y los que existen en la tabla 2 y no en la tabla 1).??? Es que exactamente el join que estoy haciendo tiene cruces entre 19 tablas y resultaría muxo más sencillo, eso no tendrá nada que ver no?.

Saludos y gracias.

ptt
28-09-2005, 17:18:49
La cantidad de tablas lo único que hace es agregar complejidad al reporte pero no es limitación. Lo mas probable es que el join que estas haciendo no devuelva resultados por algún vínculo mal asignado. Una prueba posible es sacar tablas para reducir la posibilidad de error y después agregarlas a medida que las pruebas van funcionando. El join que queres hacer lo tenes que ver de izquierda a derecha, es decir que si usas unión "Ext. Izq." y tenes un ID en tabla1 que está en tabla2 ese registro lo muestra en la sección detalle. Si el ID existe en tabla1 y no en tabla2 el registro lo muestra igual pero si en la sección detalle tenes un campo perteneciente a tabla2 lo deja en blanco con valor nulo.
También verifica que no tengas alguna fórmula en Informe-Editar fórmula de selección que te este filtrando los datos.