Access - Saldos en informe

 
Vista:

Saldos en informe

Publicado por aljumar (1 intervención) el 26/07/2007 11:15:34
Hola.

Mi pregusta es la siguiente;
Tengo dos tablas una llamada CUENTA con los campos Id; Id cuenta; Cuenta; y la otra llamada DATOS BANCOS con los campos Id; Id Cuenta; Concepto; Fecha; Debe; Haber.

He creado una consulta con los campos:
Id Cuenta Cuenta Fecha Concepto Debe Haber
CUENTA CUENTA DATOS BANCOS DATOS BANCOS DATOS BANCOS DATOS BANCOS
En el campo Fecha de la consulta tengo este criterio: Entre [forms]![Dialogo informe de bancos]![fechainicio] Y [forms]![Dialogo informe de bancos]![fechafin].

He creado un informe con los campos; Datos de origen consulta arriba indicada.
Id Cuenta; Cuenta; Fecha; Concepto; Debe; Haber y un cuadro de texto llamado Saldo; suma continua; Origen de contro =[Debe]-[Haber].

Ahora bien lo que yo quiero hacer es crear un campo en el que aparezca el saldo acumulado anterior a la fecha de inicio y para una determinada cuenta.

Gracias anticipadas. 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
Imágen de perfil de Alejandro

Calcular saldo acumulado anterior a la fecha de inicio y para una determinada cuenta

Publicado por Alejandro (4142 intervenciones) el 16/08/2023 22:45:24
Para calcular el saldo acumulado anterior a la fecha de inicio y para una determinada cuenta en tu informe, puedes utilizar una subconsulta en tu consulta principal para obtener el saldo acumulado hasta la fecha anterior. Aquí tienes los pasos a seguir:

1. Modificar la consulta existente:

Modifica tu consulta actual para incluir un campo calculado que calcule el saldo acumulado hasta la fecha anterior. Asegúrate de que este campo aparezca antes de la fecha especificada en el informe. La consulta quedaría así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
    c.[Id Cuenta],
    c.[Cuenta],
    b.[Fecha],
    b.[Concepto],
    b.[Debe],
    b.[Haber],
    (SELECT SUM(IIF(b2.[Fecha] < [forms]![Dialogo informe de bancos]![fechainicio], IIF(b2.[Debe] > 0, b2.[Debe], 0) - IIF(b2.[Haber] > 0, b2.[Haber], 0), 0))
     FROM [DATOS BANCOS] AS b2
     WHERE b2.[Id Cuenta] = b.[Id Cuenta]
    ) AS SaldoAnterior
FROM [CUENTA] AS c
INNER JOIN [DATOS BANCOS] AS b ON c.[Id Cuenta] = b.[Id Cuenta]
WHERE b.[Fecha] BETWEEN [forms]![Dialogo informe de bancos]![fechainicio] AND [forms]![Dialogo informe de bancos]![fechafin];

2. Modificar el informe:

En tu informe, agrega el campo calculado "SaldoAnterior" que definiste en la consulta. Asegúrate de que este campo aparezca antes de la fecha en el informe. También, si deseas que el saldo acumulado incluya el saldo anterior para la fecha de inicio seleccionada en el formulario, puedes sumar el "SaldoAnterior" al saldo calculado en el cuadro de texto "Saldo". La expresión sería algo como:

1
=([SaldoAnterior] + [Debe] - [Haber])

De esta manera, en tu informe verás el saldo acumulado anterior a la fecha de inicio para cada cuenta, además del saldo acumulado en el rango de fechas seleccionado. Asegúrate de ajustar los nombres de campos y objetos según corresponda en tu base de datos.
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