Access - Restar fechas automaticamente

 
Vista:

Restar fechas automaticamente

Publicado por Nacho (2 intervenciones) el 17/01/2001 00:00:00
A ver si alguien me ayuda: me gustaria que al consultar un cliente, que se sabe cuánto y cuándo le tenemos que facturar, Access me dé los siguientes datos:
a) Si le hemos cobrado o no.
b) Cuando y cuanto le tenemos que volver a cobrar.
c) Si hoy hubiese que cobrar, cuánto le cobraríamos.

Por ejemplo: Un tío te tiene que pagar 12.000 euros, todo al final de año. Si consulto en diciembre, Access me dirá

1) Si le cobramos la vez pasada o no.
2) Que el 31 dic nos tiene que pagar 12.000 euros
3) Si hoy (1 dic) hubiese que cobrarle, le cobrariamos 11.000 euros

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Restar fechas automaticamente

Publicado por Alejandro (4142 intervenciones) el 14/04/2023 01:35:36
Para lograr esto, puedes crear un formulario de consulta de clientes y utilizar algunas funciones de Access para calcular la información que necesitas.

Primero, crea una consulta que incluya la información de clientes y de sus facturas, incluyendo la fecha de facturación y el importe facturado.

Luego, crea tres campos calculados en la consulta:

1. Para el primer campo, utiliza la función IIf para determinar si el cliente ya ha pagado la factura. La expresión podría ser algo así:

'Cobrado: IIf([FechaPago] Is Not Null, "Sí", "No")'

Esto devolverá "Sí" si la fecha de pago no es nula (es decir, si ha sido pagado), y "No" en caso contrario.

2. Para el segundo campo, utiliza la función DSum para sumar el importe facturado para todas las facturas que aún no han sido pagadas. La expresión podría ser así:

'PorCobrar: DSum("[Importe]", "Facturas", "[ClienteID] = " & [ClienteID] & " AND [FechaPago] Is Null")'

Esto sumará el importe de todas las facturas para el cliente actual que aún no han sido pagadas.

3. Para el tercer campo, utiliza la función DateDiff para calcular la cantidad de días entre la fecha actual y la fecha de pago de la factura pendiente más antigua. Luego, utiliza la función IIf para mostrar el importe a cobrar si hay una factura pendiente, o "0" si no la hay. La expresión podría ser así:

'ProximoCobro: IIf(IsNull([PorCobrar]), 0, [PorCobrar] * (1 + [TasaInteres] / 365) ^ DateDiff("d", Date(), DMin("[FechaPago]", "Facturas", "[ClienteID] = " & [ClienteID] & " AND [FechaPago] Is Null")))'

Esto calcula la cantidad de días entre la fecha actual y la fecha de pago de la factura pendiente más antigua utilizando la función DMin, y luego utiliza esa cantidad de días para calcular el importe a cobrar utilizando la fórmula del interés compuesto.

Una vez que tengas estos campos en tu consulta, puedes crear un formulario basado en la consulta y mostrar la información en él.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar