Siento deciros que esta consulta no se puede hacer de una sola vez a no ser que se haga lo siguiente:
1.- Crear una función que calcule el campo balance
Código SQL
[-]SELECT FECHA, SUM(Entrada), SUM(Salida), Balance(FECHA) FROM Tabla
GROUP BY FECHA
siendo balance una función , store procedure o como se diga, que haga lo siguiente, que es calcular la suma hasta la fecha anterior.
Código SQL
[-]FUNCTION BALANCE ( FECHAPARAMETRO)
DEFINO VARIABLE double;
SELECT sum(Entrada-Salida) INTO VARIABLE FROM Tabla
WHERE FECHA < FECHAPARAMETRO
RETURN VARIABLE
Como podeis ver, no sé escribir el código exacto ya que no tengo SQL SERVER.
2.- Si no se quiere hacer en SQL, crear el delphi un campo calculado en la ttable o tquery, que calcule el valor de BALANCE con la misma query que pongo en el caso 1.
Lo explico a 'grosso modo', porque ando un poco justo de tiempo.
Además, falta filtrar todo por codigo de producto, ya que si no nos mezclaría los datos de los distintos productos.
Espero haberos ayudado.
Un saludo y suerte.