Imprimir página | Cerrar ventana

Campo calculado con varios criterios

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84217
Fecha de impresión: 20/Marzo/2019 a las 00:42


Tema: Campo calculado con varios criterios
Publicado por: Javier Pérez
Asunto: Campo calculado con varios criterios
Fecha de publicación: 11/Enero/2019 a las 10:59
Tengo una base de datos basada en facturas donde tengo una tabla que contiene los campos de fecha, número, proveedor, obra, baseimponible, retención, iva, totalapagar, pagado, pagado2, domiciliado, domiciliado2, pendientedepago y ptedepago2 y mi problema es el siguiente, que una vez que registro una factura, me calcula el totalapagar y el ptepago 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 "ptepago2" me sume los importes de "pagado" y "pagado2" y que el campo "ptepago" sea el resultado de restarle al campo "totalapagar", 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 "ptepago2" y si no están domiciliados le reste al total a pagar dichos pagos y la diferencia me lo recoja en el "ptepago".

1

En este formulario de ejemplo lo detallo un poco:
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 haberlo explicado bien, recordar 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

Antes de nada agradecer a quien me pueda ayudar con este tema, gracias.



Respuestas:
Publicado por: mounir
Fecha de publicación: 11/Enero/2019 a las 12:47
Hola!

Con If...ElseIf...End If lo tienes:

If Domiciliado <> 0 And Domiciliado2 = 0 Then 'aquí domiciliado Si Y domiciliado2 No
Me.PtePago = Lo que sea
Me.PtePago2 = Lo que sea
ElseIf Domiciliado <> 0 And Domiciliado2 <> 0 Then ''aquí domiciliado Sí Y domiciliado2 Sí
Me.PtePago = Lo que sea
Me.PtePago2 = Lo que sea
ElseIf Domiciliado = 0 And Domiciliado2 <> 0 Then ''aquí domiciliado No Y domiciliado2 Sí
Me.PtePago = Lo que sea
Me.PtePago2 = Lo que sea
ElseIf Domiciliado = 0 And Domiciliado2 = 0 Then ''aquí domiciliado No Y domiciliado2 No
Me.PtePago = Lo que sea
Me.PtePago2 = Lo que sea
End If


-------------
Un Saludo.


Publicado por: Javier Pérez
Fecha de publicación: 11/Enero/2019 a las 12:57
Perfecto, muchísimas gracias Mounir, me ha sido de gran ayuda.



Imprimir página | Cerrar ventana