esto te regresa un registro por cada cuenta:
SELECT Sum([A.debe]-[A.haber]) FROM asientos as A WHERE ((A.fecha)<#2/1/2014#) GROUP BY A.cta
que es la sumatoria, eso no lo puedes incluir en un subquery como lo estas manejando, lo que podrias hacer es esto:
Código SQL:
Ver originalSELECT asientos.cta,t2.saldo_inicial,
SUM(asientos.debe) AS SumaDedebe, SUM(asientos.haber) AS SumaDehaber, SUM([debe]-[haber]+[sdo_inicial]) AS Total
FROM asientos
LEFT JOIN
(
SELECT SUM([A.debe]-[A.haber]) AS saldo_inicial,a.cta FROM asientos AS A WHERE ((A.fecha)<#2/1/2014#) GROUP BY A.cta
) AS t2 ON (asientos.cta=t2.cta)
WHERE ((asientos.fecha)>=#2/1/2014# AND (asientos.fecha)<=#12/31/2014#)
GROUP BY asientos.cta;
saludos!