Hola
En mi BD tengo acciones y estas estan compuestas por tareas.
Al cerrar una tarea, compruebo si esta es la ultima (es decir que no quedan ninguna por hacer) : si es la ultima, actualizo la fecha_fin_real y el estado de la accion.
El problema es que el update:
DoCmd.RunSQL "UPDATE Tarea SET Fecha_Inicio_Real='" & finic & "',Fecha_Fin_Real='" & ffin & "',Comentario_final='" & coment & "',Tiempo_real_de_trabajo_responsable='" & trt & "' WHERE Id_Tarea = " & idt
se realiza "tarde"(haciendo una parada de debug antes de realizar la comprobacion la tabla todavia no se actualizo) y la comprobacion falla, por que encuentra alguna sin fecha de finalizacion:
If IsNull(DLookup("[Id_Tarea]", "Tarea", "Acción= " & idacc & " And isnull([Fecha_Fin_Real])")) Then
DoCmd.RunSQL "UPDATE Acción SET Fecha_Fin_Real='" & ffin & "',Estado='" & "Cerrada" & "' WHERE Id_Accion = " & idacc
Forms![F1_altas_y_Modificaciones]![F1_Accion].Requery
End If