PDA

Ver la Versión Completa : Mostrar columnas en reportes solo hasta el mes activo


oscarac
12-03-2011, 19:39:33
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



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

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;