Hay cosas que no entiendo. Si el cliente( o proveedor) ha pagado las ¿facturas? El campo Importe tendrá valor, por tanto no daría lugar a usar NZ. Por otro lado, si abres el formulario Albaranes... desde otro formulario, cuando el de albaranes se abra, el objeto activo es éste, por tanto no puedes decirle al control TotalCobrado, que sea igual a... En todo caso, se lo tienes que decir en el formulario que se abre. Por ejemplo, si tengo el formulario Albaranes..., más o menos como el de la imagen
Verás que el control Total no hace la suma ya que el registro de en medio es nulo. Le he añadido un botón de comando en plan didáctico.
Supongamos que tengo el formulario Proveedores, donde tengo un control llamado Total,
Si pulso el botón Abrir...
Se abre en vista diálogo en formulario Albaranes, donde puedes ver que Total es nulo. Si pulso su botón
Porque le he dicho que si el control Total es nulo, el total de formulario sea igual a 333.
Pero si Total de albaranes tuviera valor
Pero para que tenga valor tengo que decirle que me transforme los nulos del formulario Albaranes... en ceros y cuando pulso el botón
El código del formulario Albaranes es
Private Sub Comando11_Click()
If CurrentProject.AllForms("proveedores").IsLoaded Then
If IsNull([Total]) Then
Forms!proveedores!Total = Nz([Total], 333)
ElseIf Not IsNull([Total]) Then
Forms!proveedores!Total = Me.Total
End If
End If
End Sub
Y en el origen de control del control Total tengo puesto
=DSuma("nz([importe])";"albaraneslineaventas";"idproveedor=forms!albaraneslineaventas!idproveedor")
Por lo que ya no daría pié a que Total fuera Nulo
En mi opinión es excesivamente complicado esto cuando se puede hacer muchísimo más sencillo usando Dsum("nz([importe])",....
Si quieres, repito, si quieres, haz una copia de la tabla(s) y formulario(s) involucrados, con tres o cuatro registros inventados y me la mandas a [email protected] y la miro. Así podría aconsejarte mejor.
Si lo haces, en el asunto del mensaje pon tu alias Jobe(me parece que ya tenías mi correo), ya que si no sé quien me escribe ni los abro.