Las instrucciones tipo Dsum, Dcount, Dlookup se componen de tres partes
1º El campo que tienen que buscar, contar, sumar, etc
2º Donde tienen que buscarlo, sea tabla, consulta o formulario
Estas dos son obligatorias
3º El(los) criterio(s) que delimitan los valores a buscar, es opcional. Por ejemplo, si digo
X=Cuentame("los niños", de Alemania) me cuenta todos los niños de Alemania
Pero si digo
X:Cuentame("los niños", de Alemania, que sean rubios y que sean varones y que se llamen Lotahar") estoy delimitando la suma.
En u caso le estás diciendo que te sume el campo pago, pero al no poner donde debe buscar Access entiende que te refieres a la tabla o consulta Facturado=True y lógicamente ésta no existe.
Vamos a suponer que tengo una tabla Proveedores y una tabla Compras a ese proveedor, y con ellas hago un formulario con subformulario
Si ahora "marco" una casilla
En el cuadro de texto de arriba izquierda me va poniendo la suma acumulada
Por el contrario, si una vez marcados hago clic en el cuadro de texto OtraForma
El código del evento Después de actualizar de la casilla Contabilizar es
DoCmd.RunCommand acCmdSaveRecord
If Contabilizar = True Then
Me.Parent!UnaForma = DSum("importe", "compras", "idcompra=" & Me.IdCompra & " and contabilizar=true")
End If
Observa que en segundo lugar de Dsum le digo que busque ese campo en la tabla Compras.
Por el contrario, si se opta por la segunda opción, el código del evento Al recibir el enfoque del cuadro de texto OtraForma es
Private Sub OtraForma_GotFocus()
OtraForma = DSum("importe", "compras", "idcompra=" & Me.IdCompra & " and contabilizar=true")
End Sub
También le digo que busque en la tabla Compras