Campo calculado con varios criterios

Tengo una base de datos basada en facturas donde tengo una tabla que contiene los campos de fecha, número, proveedor, obra, base imponible, retención, iva, total a pagar, pagado, pagado2, domiciliado, domiciliado2, pendiente de pago y pte de pago2 y mi problema es el siguiente, que una vez que registro una factura, me calcula el total a pagar y el pendiente de pago que en principio es igual al total a pagar y en el mismo registro puedo anotar el primer pago y un segundo pago si es que fracciono los pagos, el campo "domiciliado" y "domicilado2" son casillas de verificación para indicar que es un pago domiciliado con un vencimiento y quiero que si la casilla está activada, tanto "domiciliado" y "domiciliado2" (puede que ambas estén activadas o desactivadas o una activada y la otra no) que el campo "pte de pago2" me sume los importes de "pagado" y "pagado2" y que el campo "pte de pago" sea el resultado de restarle al campo "total a pagar", los importes de "pagado" y "pagado2" si éstos tienen la casilla de verificación desactivada.

La cuestión es que necesito que si los pagos están domiciliados me aparezca la deuda en el campo "domiciliados2" y si no están domiciliados le reste al total a pagar dichos pagos y la diferencia me lo recoja en el "pte de pago".

1 respuesta

Respuesta
2

Vamos por partes, dices que si los pagos están domiciliados me aparezca la deuda en el campo "domiciliados2"

Pero ¿no habías dicho que domiciliado2 era una casilla de verificación?.

Por otro lado no dices si, o bien una o bien otra, o bien ambas casillas de verificación, una al menos estará marcada, o si puede darse el caso de que ambas estén desmarcadas.

Por ejemplo, supongamos que tengo el formulario(he tenido que ponerlo como formulario, ya que al tener tantos campos la imagen de la tabla es excesivamente ancha)

Al no saber como trabajas, le he puesto que cuando ponga la base imponible, automáticamente haga una retención del 10% y calcule un IVA del 21% sobre la base imponible. Por otro lado, le he puesto que después de actualizar del cuadro de texto Pagado(es decir que hayas anotado un pago), haga el cálculo que dices

Perdona Icue, tienes razón me he equivocado al redactar la pregunta, el campo que debe recoger el importe como tú bien has captado es PtePago2 ya que domiciliado2 es una casilla de verificación, también la respuesta te agradecería que fuese para formulario y no para consulta ya que tu ejemplo se parece mucho a mi formulario, solo que el mío es un formulario continuo.

Como comenté anteriormente una misma factura puede ser pagada en 1 o 2 veces y el pago puede ser domiciliado los dos o uno si y el otro no o ninguno, lo único que falta en tu ejemplo es que si el pago es domiciliado, se tiene que sumar en el campo de ptePago2, pero en el campo PtePago no restar al TotalPagar ya que la deuda no se salda hasta que el domiciliado llegue a su vencimiento (el formulario tiene más campos, pero no quería complicar más la pregunta)sobre tu ejemplo si tuviésemos un segundo pago de 1.000 € y no fuese domiciliado en el campo Pagado tendríamos 500 €, en el campo Pagado2   1.000 €, en el campo PtePago   5.050 € y en el campo PtePago2   500 €, por supuesto si por error o por cambiar la casilla de domiciliado a no domiciliado o viceversa, los campos PtePago y PtePago2 deberían actualizarse automáticamente.

Antes de nada Icue, quiero darte las gracias por dedicarme tu tiempo, como siempre tu respuestas me son de gran ayuda.

Me había olvidado del código del formulario, es

Private Sub Baseimponible_AfterUpdate()
Retencion = Baseimponible * 10 / 100
IVA = Baseimponible * 21 / 100
TotalPagar = Baseimponible + IVA
PtePago = TotalPagar
Domiciliado.SetFocus
End Sub
Private Sub Pagado_AfterUpdate()
If Domiciliado = -1 Or Domiciliado2 = -1 Then
PtePago2 = Nz([Pagado]) + Nz([Pagado2])
PtePago = TotalPagar - Nz([Pagado]) - Nz([Pagado2])
End If
End Sub

Perdona Icue, vistes mi anterior pregunta, no funciona bien el código que me enviaste ya que necesito que se actualicen los campos   PtePago y PtePago2 según active o desactive las casillas de verificación, tanto Domiciliado como Domiciliado2, gracias.

¿Puedes poner una imagen de como debería quedar? Aunque sea en Excel, es para ver los cálculos que se deben hacer.

1- El pago 1 de 4.050 € es Domiciliado y lo introducimos en el campo Pagado

2- El Pago 2  de 2.000 € no es domiciliado y lo introducimos en el campo Pagado2

3- El campo PtePago recogería el importe resultante de restarle al campo TotalPagar la suma de los pagos que tenga las casillas de verificación Domiciliado y Domiciliado2 desactivadas, en este caso de total a pagar son 6.050 € y le restamos la cantidad de pagado2  2.000 €  y da como resultado 4.050 € 

4- El campo PtePago2 recogería  el importe resultante de la suma de los campos Pagado y Pagado2 que tengan las casilla de verificación activada, en este caso como solo esta activada la casilla de verificación de Domiciliado sumaría el importe del campo Pagado de 4.050 €

Espero habértelo explicado bien, recordarte que la combinación de las casillas de verificación pueden ser:

Domiciliado    si    -   Domiciliado    si   -   Domiciliado    no  -  Domiciliado    no

Domiciliado2  si   -   Domiciliado2  no  -   Domiciliado2  si   -  Domiciliado2  no

y los campo PtePago y PtePago2 se deben actualizar al activar o desactivar las casillas de verificación

Hola Icue, viste mi respuesta, gracias.

Te estoy contestanto desde el movil. Ahra mismo estoy en el tanatorio que se ha muerto mi suegro. Mañana a partir de la 13:30 te pongo la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas