Access VBA: Dsum no suma los valores actualizados

Tengo un formulario continuo dependiendo de una tabla. Alguno de sus campos son Cantidad_Partida, PVP_Unidad, Importe_Partida

He hecho un código para que al cambiar el valor del campo Cantidad_Partida, me actualice el valor Importe_Partida (es igual Cantidad_Partida * PVP_Unidad).

He creado un campo para insertarle la suma de Importe_Cantidad de todos los registros con el siguiente comando:

Var_Subtotal_Presupuesto = Round(DSum("[Importe_Partida]", "Presupuestos_Lineas", "[Año]=" & Var_Año & " AND [Id_Expediente]=" & Var_Id_Expediente & " and [Id_Inventario]= " & Var_Id_Inventario & " AND [Id_Presupuesto]= " & Var_Id_Presupuesto & " AND [Id_Subpresupuesto] = " & Var_Id_Subpresupuesto), 2)

Forms![Formulario_Expedientes]![Subformulario_Presupuesto].Form![SubTotal_Presupuesto] = Var_Subtotal_Presupuesto

Lo curioso es que la suma que me calcula, es la suma antel de haber cambiado la Cantidad_Partida.

Es como si no cogiera los datos actualizados, o access tarde en actualizar los valores en la tabla, porque en el formulario si que los actualiza al momento.

3 respuestas

Respuesta
2

Tienes que forzar el guardado en la tabla antes de hacer el cálculo. Pon antes de todo eso DoCmd. Runcommand accmdsaverecord

Respuesta
2

Jon: Ponle un >> DoCmd. RunCommand acCmdSaveRecord antes de Var_SubTotal...

o un Me. Requery ya que la fórmula hace que "se visualice" el cambio que no será efectivo hasta que Actives otro registro o... Un saludo >> Jacinto

Respuesta

@tiny fishing Thanks for the answer. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas