Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Mostrar columnas en reportes solo hasta el mes activo (https://www.clubdelphi.com/foros/showthread.php?t=72805)

oscarac 12-03-2011 19:39:33

Mostrar columnas en reportes solo hasta el mes activo
 
Buenas tardes
tengo un problema que me esta rondando la cabeza ya hace dias, les cuento un poco

estoy haciendo un reporte contable de gastos mensual (ANUAL)
la idea es que si estoy en el mes de Junio solo me muestre informacion del HASTA el mes de Junio, si estoy en Octubre solo HASTA Octubre y asi sucesivamente

otra condicion es que si la suma de los meses (hasta el mes en cuestion) da como resultado cero.. entonces no lo debo considerar

Mi query es mas o menos asi


Código Delphi [-]
StrSql := 'select Left(CG.cuenta, ' + edtDigito.Text + ') As CNivel, CG.Cuenta, P.Descripcion , ' + 
'Sum (p01) As m01, ' +
'Sum (p02) As m02, ' +
'Sum (p03) As m03, ' +
'Sum (p04) As m04, ' +
'Sum (p05) As m05, ' +
'Sum (p06) As m06, ' +
'Sum (p07) As m07, ' +
'Sum (p08) As m08, ' +
'Sum (p09) As m09, ' +
'Sum (p10) As m10, ' +
'Sum (p11) As m11, ' +
'Sum (p12) As m12, ' +
'From tblCuentaGasto CG ' +
'Left Join tblPlanContable P on CG.Empresa = P.Empresa and CG.Periodo = P.Periodo and CG.Cuenta = P.Cuenta ' +
' where CG.Empresa = ' + QuotedStr(dmGlobal.g_CodigoEmpresa) + ' and CG.Periodo = ' + QuotedStr(Copy(dmGlobal.g_Periodo,1,4)) + ' and ' +
'(p01 + p02 + p03 + p04 + p05 + p06 + p07 + p08 + p09 + p10 + p11 + p12)<> 0 ' +
' group by Left(CG.CUENTA, ' + edtDigito.Text + '), CG.Cuenta, P.Descripcion'



hasta ahi todo bien
pero si se dan cuenta... en el query estoy capturando los 12 meses, ya encontre la forma de Blanquear (colocar en cero) los meses que sean posteriores al mes en cuestion (Mes contable), pero lo que no encuentro aun es lo siguiente

"eliminar aquellas lineas cuyo resultado de las sumas de los meses sea igual a cero"
seguire intentanto....

gracias por la atencion

oscarac 12-03-2011 19:50:47

Solucionado....
en el Beforeprint puse esto
Código Delphi [-]
if (qryBalanceIntegralGastoa01.Value = 0) and (qryBalanceIntegralGastoa02.Value = 0) and
   (qryBalanceIntegralGastoa03.Value = 0) and (qryBalanceIntegralGastoa04.Value = 0) and
   (qryBalanceIntegralGastoa05.Value = 0) and (qryBalanceIntegralGastoa06.Value = 0) and
   (qryBalanceIntegralGastoa07.Value = 0) and (qryBalanceIntegralGastoa08.Value = 0) and
   (qryBalanceIntegralGastoa09.Value = 0) and (qryBalanceIntegralGastoa10.Value = 0) and
   (qryBalanceIntegralGastoa11.Value = 0) and (qryBalanceIntegralGastoa12.Value = 0) then
 

  PrintBand := False;


La franja horaria es GMT +2. Ahora son las 01:13:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi