Access - Tarifa despues del dia 20 de c/mes

 
Vista:
sin imagen de perfil

Tarifa despues del dia 20 de c/mes

Publicado por Diego (32 intervenciones) el 18/05/2016 15:10:02
Buenos días, necesito ayuda!! Tengo una tabla en la que estan cargadas tarifas, por ejemplo:
Descripcion Valor Descuento
TARIFA 01 100 40

En el formulario necesito que luego del día 20 de cada mes, comience a cargar valor con el descuento o sea 60, sino que me active la casilla "Descuento" con el valor 40 automaticamente y luego en otra casilla le hago la formula para que reste el descuento 40 al valor 100 de la tarifa (que ya me aparece automaticamente a causa de otro factor).

En fin, necesito que del 1 al 19 deje el valor que ya tengo (100) y del día 20 en adelante de cada mes me ponga 60 (que es 100 - 40).

Saludos, y 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
sin imagen de perfil

Tarifa despues del dia 20 de c/mes

Publicado por Enrique Heliodoro (1664 intervenciones) el 18/05/2016 21:14:13
Una igualdad resuelve parte del problema (retornara un cero ==> (False) o un menos uno ==> (True).

Esa respuesta tratada con la función ABS retornara un cero o un uno

Disponiendo de ese valor (0/1), si lo multiplicamos por una cifra cualquiera (según las reglas de las matemáticas) retornara la misma cifra o un cero

Solo hay que utilizar ese valor retornado, para restárselo a la cantidad inicial y ......
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
sin imagen de perfil

Tarifa despues del dia 20 de c/mes

Publicado por Diego (32 intervenciones) el 19/05/2016 01:41:40
Por favor Enrique, necesito que me lo expliques de otra forma o si tenes a mano algún ejemplo.
Gracias!!
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
sin imagen de perfil

Tarifa despues del dia 20 de c/mes

Publicado por Enrique Heliodoro (1664 intervenciones) el 19/05/2016 03:47:51
Una igualdad:

Dia de un a fecha (por ejemplo la fecha actual)
Day (Date()) ===> retorna el dia

Se compara con el dia de nuestro interés:
Day(Date()) >= 20

Como devuelve un True False (por defecto en Access: 0 False , -1 True) se aplica ABS que es una función incorporada en Access
ABS(Day(Date()) >= 20)

Ya tenemos un dato: 0 = False, 1 = True, ahora lo aplicamos MATEMATICAMENTE
¿Un descuento de 40?

40 * ABS(Day(Date()) >= 20)

Si es el 19 devolverá un False (0) ==> 40 * ABS(0) ==> 40 * 0 ==> 0
Si es el 20 o superior devolverá un True (-1): 40 * ABS(-1) ==> 40 * 1 ==> 40

Solo hay que restárselo a la cantidad inicial (que era 100)
100 - (40 * ABS(Day(Date()) >= 20))

del 1 al 19 : 100 - (40 * ABS(Day(Date()) >= 20)) ==> 100 - (40 * ABS(0)) ==> 100 - (40 * 0) ==> 100 -(0) ==> 100
del 20 al final : 100 - (40 * ABS(Day(Date()) >= 20)) ==> 100 - (40 * ABS(-1)) ==> 100 - (40 * 1) ==> 100 -(40) ==> 60
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