Llevar una suma continuada en un Formulario

Tengo un formulario que es un Extracto de Cuentas y necesito llevar una suma continuada (Saldo) en cada uno de los apuntes:

Concepto Debe Haber Saldo

Apunte 1       25           --         25

Apunte 2       --           10        15

Apunte 3       8              --       23

...

Por cada línea he de sacar el Saldo de los movientos. Como un extracto de Bancos.

1 respuesta

Respuesta
1

Vamos a suponer que la tabla se llama Saldos, y que el formulario donde pones esos datos se llama igual.

En el evento Después de actualizar del cuadro de texto Debe pon

Docmd. Runcommand accmdsaverecord

Saldo=nz(dsum("Debe","saldos",))-nz(dsum("Haber","saldos"))

Lo mismo en el evento Después de actualizar del cuadro de texto Haber.

Así, si escribes algo el Debe, cuando pulses Enter en Saldo te pondrá su valor, y cuando dejes en blanco Debe y escribas algo en Haber, lo mismo.

Muchas gracias por ayuda, te explico que me esta pasando.

He colocado esto en los dos Eventos después de actualizar y no me hace nada, no saca ningún valor en el Saldo.

He tenido que eliminar la coma que hay después de: "Debe","saldos",)) debido a que me da un error y no se si es por eso que no me funciona.

Estos son los datos que tengo en el Form:

Formulario: GESTIONBANCOSEXTRACTOS

Campo DEBE: SumaDeImporteEntrada

Campo HABER: SumaDeImporteSalida

Campo Saldo: SALDO

En los Eventos (DEBE y HABER) Después de Actualizar he colocado:

Me.Saldo = Nz(DSum("SumaDelImporteApunteEntrada", "GESTIONBANCOSEXTRACTOS")) - Nz(DSum("SumaDelImporteApuntesSalida", "GESTIONBANCOSEXTRACTOS"))

El diario de Caja es una Tabla que recoge diferentes valores de otras tablas y quedan insertadas en el Diario.

Tengo el problema que si el DEBE o HABER no tiene movimiento se me queda el campo en Blanco. No se si esto tendrá algo que ver para no sacar el SALDO.

Si necesitas más detalles dímelo y te los mando. Un saludo

No me he acordado de comentarte que es un Forms tipo: Formularios continuos

No sé como lo habrás hecho, pero si en el evento Después de actualizar del cuadro de texto Debe (y lo mismo en el cuadro de texto Haber) pongo

Y pulso el botón de los tres puntos, para que se abra la ventana del editor de VB y escribo lo de la parte de arriba y hago lo mismo con el control Haber y pongo lo de abajo

Private Sub Debe_AfterUpdate()
DoCmd. RunCommand acCmdSaveRecord
Saldo = Nz(DSum("debe", "movimientos")) - Nz(DSum("haber", "movimientos"))
End Sub
Private Sub Haber_AfterUpdate()
DoCmd. RunCommand acCmdSaveRecord
Saldo = Nz(DSum("debe", "movimientos")) - Nz(DSum("haber", "movimientos"))
End Sub

El resultado es

Me va "arrastrando" el saldo

No consigo que me funcione y no entiendo el porque ocurre ya que he copiado tus instrucciones y me deja el campo SALDO en blanco.

Podría mandarte el proceco si quieres y me lo revisas si no es mucha molestia.

Mi correo es [email protected]

En el asunto del mensaje pon tu alias Jose OB, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas