Calcular campo de total por registro

Tengo una BD, con tres tablas. La 1ra con IdBanco (autonumérico), Entidad (texto)... La 2da IdCliente (autonumérico), IdBanco (numérico), cliente (texto)... Y la 3ra con IdCuenta (autonumérico), IdCliente (numérico), FechaIngreso (fecha/hora), Importe (numérico, aquí ingresaré números positivos o negativos indistintamente).

Ya he creado el formulario y los informes, pero la pregunta es la siguiente:

De que manera podría en el formulario y el informe tener el resultado del ingreso o el gasto de forma que me quedará así, porque no hay manaera de sacarle punta.

FECHA            IMPORTE               TOTAL

4/1/16                  100                        100

5/1/16                    50                         150

7/1/16                   -75                          75

8/1/16                   -15                          60

10/1/16                  45                         105

Respuesta
1

Supongamos, que en la tabla3 tienes el campo Total(no es necesario, pero vamos a suponer que sí) y vamos a suponer que partes de cero, o sea todavía no has puesto registros.

En las propiedades del cuadro de texto Importe, en Eventos-Después de actualizar, crea un Procedimiento de evento y entre Private Sub y End Sub escribe

docmd.runcommand accmdsaverecord

Total=Dsum("importe","nombretabla3","fecha<forms!nombredelformulario!fecha")

Así, cuando pongas el primer importe, te sumará los importes anteriores a la fecha que acabas de escribir. Como sólo hay ese, en total te pondrá el mismo valor que importe, pero cuando escribas el segundo, te sumará ese importe y el anterior, etc.

Hola, Buenas noches

Primero, gracias por contestar, se agradece

Mira, esto es lo que estoy poniendo, me sale un error de sintasis, pero no se donde esá.

Saldo es el campo que en tu ejemplo lo llamaste Total

CONCEPTO es el nombre de la tabla, que esta dentro del formulario BANCOS, la estructura que tiene el formulario es

1erFORMULARIO (BANCOS: IdEntidad (autonumerico),Entidad (texto)...

2doFORMULARIO (CLIENTE: IdCliente (autonumerico), IdEntidad (numerico), Nombre, Apellido (texto..

3erFORMULARIO (Idmovimiento (autonumerico), IdCliente(Numerico), FeOperacion (fecha), Concepto (texto), Importe (Numerico) y Saldo (numérico)

En el evento del subformulario CONCEPTO  después de actualizar he puesto esto

docmd.runcommand accmdsaverecord

Saldo = DSum("importe", "CONCEPTO", "feOperacion<forms!Subformulario CONCEPTO!feOperacion")

Que falla?

Gracias de antemano

Carlos

Si el campo saldo está dentro de un subformulario de un formulario, en la expresión tienes que decirle que es de un subformulario

Saldo=dsum("importe","concepto","fecha<forms!nombredelformulario!nombredelsubformulario.form!feoperacion")

De todas formas, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces en el Asunto del mensaje, pon kokku Jimfer, es que si no lo pone ni los abro.

2 respuestas más de otros expertos

Respuesta
1

Kokku: para evitar escribir lo ya escrito y además por experto te facilito:

Una respuesta de Neckkito en éste foro

Saldo por registro acumulado

Un enlace a la Web de Emilio Sancha

http://www.mvp-access.es/emilio/access/descargas.asp 

El ejemplo es el Número 185 del 06/12 y con el título>>

En un formulario no resulta fácil calcular un saldo de línea, pero tampoco es difícil, solo es "costoso" para Access, hay que tirar de DSum, algo que siempre es poco eficiente.

Bueno ya me comentarás si te soluciona el Problema. Saludos >> Jacinto

¡Gracias! 

Por fin lo he conseguido, me ha costado, pero ha salido

Saludos

Kokku: Me alegra bastante saberlo.

Respuesta
1

Yo hice algo parecido a lo que buscas creando un informe y modificando con fórmulas las etiquetas para que mostraran el resultado. Esto solo te valdría a titulo informativo (no modifica registros).

Si te interesa te lo podría mandar por aquí ( imagino) o por correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas