Arrastrar Saldo a un nuevo registro

Ya estoy un poco oxidado y no recuerdo algunas cosas como era arrastrar el saldo último a un registro nuevo.

Os cuento mi problema, tengo una tabla con clave principal en nº de apunte y el resto de columnas son fecha de apunte, concepto, haber, debe y saldo. Cuando creo un apunte nuevo saco el nº apunte de forma automática, el resto de campos los pone el operador a excepción del saldo que quiero que me saque el saldo del registro último + el importe que se meta, por lo que a la hora de rellenar tendrá el saldo anterior y en cuanto metan el importe se debe actualizar el saldo del registro nuevo.

Si me pueden ayudar se lo agradeceré eternamente.

1 respuesta

Respuesta
2

Supongamos que la tabla se llama Clientes. Puedes poner el código en otro evento, pero al no saber como trabajas, es preferible que lo pongas en el evento Al recibir el enfoque del cuadro de texto Saldo

If isnull([saldo]) then

Saldo=Dsum("debe","clientes","[nº de apunte]<=" & me.[nº de apunte])-dsum("haber","clientes","[nº de apunte]<=" & me.[nº de apunte] & "")

end if

Hola el saldo debe aparecer y debe ser igual al apunte anterior, y cuando meto el importe nuevo el saldo se debe actualizar automáticamente.

pongo una imagen de que es lo que me gustaría sacar:

Espero que esto te aclare algo más. Gracias

Había preparado otro ejemplo pero sirve igual. Si tengo una tabla

Y con ella hago un formulario y voy rellenando datos

Como puedes ver te va calculando el saldo. Como no sabía, si en caso de no haber anotación en el debe o el haber ponías un cero, he tenido que usar la función Nz. La instrucción es

En el caso tuyo, como sólo veo ingresos y en el control ingreso veo un cero, el código lo puedes poner en el evento Después de actualizar del cuadro de texto Ingreso

Docmd. Runcommand accmdsaverecord

saldo=dsum("ingreso","nombredelatabla","[numero de apunte]=" & me.[numero de apunte] & "")

Aquí supongo que tanto el campo como el cuadro de texto se llaman así y que lo de 180... es numérico.

¡Gracias! Lo pruebo y te digo.

Releyendo la pregunta me surge otra interpretación. ¿Lo qué quieres es que te muestre el saldo anterior y una vez que pongas el importe te aparezca el nuevo?. Si es eso, tenemos la famosas tabla

Con ella hacemos el susodicho formulario

Como no puede saber de antemano que número de apunte vas a poner, la instrucción tiene que estar en el evento Después de actualizar del cuadro de texto NumApunte. En este caso, como es el primero te pone 0. Luego si relleno los datos.

Si ahora me voy a un registro nuevo y le pongo el mismo NumApunte

Me aparece el saldo anterior y si sigo rellenado datos

El ccódigo es

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas