Crystal Report - Problemas con Formula de Sumar campos SQL

 
Vista:

Problemas con Formula de Sumar campos SQL

Publicado por jose (27 intervenciones) el 19/10/2007 21:24:09
Hola

Tengo un reporte de Crystal que toma los datos de una tabla Access, mejor dicho, de una SQL de Consulta. Algunos campos pueden no tener nada, por lo que la SQL carga algunas columnas y otras quedan "vacias".

Luego en Crystal hice una Formula para sumar todos los Totales "horizontales" (no total de columna) y el problema con esto es que la Formula de sumatoria no calcula nada cuando alguno de esos campos está vacio:

Ejemplo:
{@PagosMasivos}+{@PagosContratados}+{@PagosServInt}+{@PagosDistMasiva}

Trate con Val(), CDbl(), CStr(), etc para ver si serviría pero nada, lo que necesitaria con esto es algo que cuando alguno de estos 4 campos esté "vacio" lo tome como un 0, ya que aunque 3 de 4, o 2 de 2 no traen nada y los otros si, la sumatoria no se realiza.

De antemano, muchas gracias para quien pueda brindarme su ayuda/experiencia ante casos como este.
Saludos.
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:Problemas con Formula de Sumar campos SQL

Publicado por Gerardo (571 intervenciones) el 20/10/2007 02:42:43
Ke tal.

No entiendo totalmente lo que dices que hiciste.
'****************************************************************************************
Ahora bien, ya que parece ser que realizaste una consulta SQL, es desde ahí que puedes corregir el problema que comentas

Por ejemplo:

SELECT IIF(ISNULL(cantidad),0,cantidad), ....

lo anterior evitará que tengas campos nulos en campos numéricos.
***************************************************************************************
Otra opción y corrigiendo el problema en CR en campos formula insertar el comando antes expresado de la siguiente forma:

IF {Tabla.cantidad}="" or ISNULL ( {Tabla.canidad} ) then
0
ELSE
{Tabla.cantidad}

No estoy del todo seguro del comando IIF e ISNULL pero espero que la memoria no me falle.

Saludos.
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:Problemas con Formula de Sumar campos SQL

Publicado por jose (27 intervenciones) el 20/10/2007 04:24:00
Muchas gracias Gerardo, agregue lo del IIF(ISNULL()) y esto soluciono el problema, no lo hice en Crystal, sino en la SQL.

SELECT RT.Nombre, R.Region, R.IDSucursal, R.Promotor, R.Fecha1, R.Fecha2, (Select IIF(ISNULL(SUM(Entregados)),0,SUM(Entregados)) From ENTREGAS_EXCEPCIONES AS E
Where E.ID=RT.ID And E.Servicio=1 And E.CodRegion=RT.Region And E.IDSucursal=RT.Oficina And E.Promotor=RT.Promotor And E.Fecha Between R.Fecha1 And R.Fecha2) AS EntregadosMasivos, (Select IIF(ISNULL(SUM(Entregados)),0,SUM(Entregados)) From ENTREGAS_EXCEPCIONES AS E
Where E.ID=RT.ID And E.Servicio=2 And E.CodRegion=RT.Region And E.IDSucursal=RT.Oficina And E.Promotor=RT.Promotor And E.Fecha Between R.Fecha1 And R.Fecha2) AS EntregadosContratados, (Select IIF(ISNULL(SUM(Entregados)),0,SUM(Entregados)) From ENTREGAS_EXCEPCIONES AS E
Where E.ID=RT.ID And E.Servicio=3 And E.CodRegion=RT.Region And E.IDSucursal=RT.Oficina And E.Promotor=RT.Promotor And E.Fecha Between R.Fecha1 And R.Fecha2) AS EntregadosInternacionales, (Select IIF(ISNULL(SUM(Entregados)),0,SUM(Entregados)) From ENTREGAS_EXCEPCIONES AS E
Where E.ID=RT.ID And E.Servicio=4 And E.CodRegion=RT.Region And E.IDSucursal=RT.Oficina And E.Promotor=RT.Promotor And E.Fecha Between R.Fecha1 And R.Fecha2) AS EntregadosDistMasiva
FROM RUTA AS RT, TB_REPORTE AS R
WHERE (((RT.Region)=[R].[CodRegion]) AND ((RT.Oficina)=[R].[IDSucursal]) AND ((RT.Promotor)=[R].[Promotor]));

Muchas gracias por la ayuda, saludos.
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:Problemas con Formula de Sumar campos SQL

Publicado por Cesar Guerrero (1 intervención) el 10/03/2008 06:32:49
hola como estan, mi problema es con las funciones de suma de tablas con valores
uso una formulacion print pero me bota error, me pueden ayudar
me guie con otra formula pero no me sirve
tengo que sumas 4 tablas
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:Problemas con Formula de Sumar campos SQL

Publicado por KATO2 (1 intervención) el 20/01/2008 23:22:50
activa la sintaxys de visual basic y cambia la formula por

IIF(isNULL({@PagosMasivos}),0,{@PagosMasivos})+IIF(isNULL({@PagosContratados}),0,{@PagosContratados})+IIF(isNULL({@PagosServInt}),0,{@PagosServInt})+IIF(isNULL({@PagosDistMasiva}),0,{@PagosDistMasiva})
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