Crystal Report - Ayuda con Crystla Report please!!!!!!

 
Vista:

Ayuda con Crystla Report please!!!!!!

Publicado por Yoli Diaz (2 intervenciones) el 01/03/2006 16:24:56
Hola tengo un problemita con el crystal si alguien me pudiera ayudar!!!
El problema es que tengo varias tablas de una base de datos
Eje
Una tabla Proyecto y una tabla ventasporproyecto y otra producciondelosproyectos a la hora de filtrar los datos de estas tres tablas necesito que me muestre todos los proyectos que existen es decir que esten en la tabla proyectos y si existen produccion y venta de este proyecto que me lo muestre al lado si no me muestre cero a lo hora de yo hacer el reporte lo pongo que me coja todos los que estan en la tabla proyecto sin importarme las de las otras tablas, lo que cuando no existen el registro de esos proyectos en las otras tablas me elimina el nombre del proyecto y yo quiero me lo muestre y que me ponga cero no que me lo elimime.

Muchas Gracias!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Crystla Report please!!!!!!

Publicado por Carlos (11 intervenciones) el 01/03/2006 16:45:42
Realmente tu problema no es de Crystal Reports sino de como estas construyendo la consulta, si estas trabajando con las tablas directamente en esto poco puedo ayudarte, pero si trabajas con procedimientos almacenados o package es posible encontrar una solución a tu problema.

Debes utilizar el comando "left join" del ( SQL o access ) o el "(+)=" del oracle el cual permite hacer filtro entre tablas. Como trabaja esto :

si dices :

Select *
From ( Proyecto left join ventasporproyecto
on proyecto.id = ventasporproyecto.id )
left join producciondelosproyectos
proyecto.id = producciondelosproyectos.id

lo que hace esto es traer todos los proyectos sin importar si tienen ventasporproyecto o producciondelosproyectos.

el resultado seria algo parecido a esto:

Proyecto, ventas,producion
1 null 0
2 5 10
3 null null

El truco de crystal reports es tratar de pasarle la menor complejidad posible para poder trabajar limpiamente con el y no complicarse la existencia.

Creo que crystal maneja un proceso de consulta, filtro o formula como quieras llamarlo, pero yo prefiero generar la complejidad en el motor de base de datos ya que ahí tengo todo lo que necesito

Espero que te Ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Crystla Report please!!!!!!

Publicado por Yoli Diaz (2 intervenciones) el 01/03/2006 18:58:56
Si mi problema es que trabajo directamente con las tablas pero probaré trabajar directo con la base datos creo que el problema hora va a hacer como vincular una consulta SQL o un procedimiento almacenado con el crystal report
Muchas Gracias!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Crystla Report please!!!!!!

Publicado por Carlos (11 intervenciones) el 01/03/2006 20:05:12
eso es mas simple todabía, puedes utilizar un odbc con conexion a la base de datos, luego cras un procedimiento almacenado con los parametros necesarios y el resultado final, toma encuenta que crystal report asumirá como salida el primer select que utilices, por esto es necesario generar un solo select o utilizar la sentencia set nocount on al inicio del procedimiento. luego generas el reporte, buscas tu origen de datos el cual es tu odbc, busca el procedimiento almacenado, le das los parametros y generas el reporte. hasta ahí todo bien.

paso 2.

With CR_Reporte
.Reset
.ReportFileName = App.Path & "\Reporte.rpt"
.StoredProcParam(0) = valor1
.StoredProcParam(1) = valor2
.
.StoredProcParam(n) = valorn

.WindowShowPrintSetupBtn = True
.WindowShowRefreshBtn = True
.WindowState = crptMaximized
.Action = 1
End With

defines esto y listo, ya tienes una llamada a un procedimiento almacenado con parametros.

Chao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar