Access - Función Silnm

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Función Silnm

Publicado por sony (5 intervenciones) el 14/01/2018 03:45:48
Hola, ojalá alguien me pueda ayudar

Necesito en un consulta generar una expresión que me indique en el campo lo siguiente:

Si una cantidad está entre 0 a 2500, que me indique que en 1, si es de mayor a 2,501 a 7500, que me indique que es 2, y sí es superior a 7501, que indique que es 3

No soy conocedora, si me pudieran explicar con bolitas y palitos sería genial. Mil gracias de antemano
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

Función Silnm

Publicado por Anonimo (1974 intervenciones) el 14/01/2018 15:33:37
Asumiendo que sumar no es un misterio, queda por definir que se puede sumar.

Access define a falso como (0) cero y a verdadero como (-1) menos uno, después se le da formato en el idioma o como se necesite.

Cualquier valor mayor que cero ( de cero a 2500 y mas allá ) equivaldría a un TRUE (verdadero o -1 .....) disponemos de un sumando
Si el valor es mayor que 2500 (desde 2501 a 7500 y mas allá) equivaldría también a un TRUE .....y se repite lo anterior
Si el valor supera 7500 también cumpliría lo anterior y así podemos seguir sin cansarse.

Si sumamos los resultados de esas comparaciones (y las demás que necesitemos y creásemos), obtendríamos el valor deseado pero 'en negativo' y para resolver la situación utilizaríamos ABS (una función integrada en Access) que devuelve el valor absoluto.

Resultado = ABS( (cantidad > 0) + (cantidad > 2500) + (cantidad >7500))

Para un valor tal que 2000 se cumple:
Resultado= ABS( (2000 > 0) + (2000 > 2500) + (2000 > 7500)) ==> ABS( (True) + (False) + (False)) ==>ABS( ( -1 ) + ( 0 ) + ( 0 )) ==> 1

Para un valor tal que 4000 se cumple:
Resultado= ABS( (4000> 0) + (4000 > 2500) + (4000 > 7500)) ==> ABS( (True) + (True) + (False)) ==>ABS( ( -1 ) + ( 1 ) + ( 0 )) ==> 2

Para un valor tal que -222 se cumple:
Resultado= ABS( ( -222 > 0) + ( -222 > 2500) + ( -222 > 7500)) ==> ABS( (False) + (False) + (False)) ==>ABS( ( 0 ) + ( 0 ) + ( 0 )) ==> 0


Y creo que se asemeja (se utiliza a la unidad como dato) a una explicación con palitos.
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
Val: 9
Ha aumentado su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Función Silnm

Publicado por sony (5 intervenciones) el 10/02/2018 03:04:50
Muchas gracias, si es complicado, porque yo no soy programadora pero me gusta meterme en estos líos, voy a intentarlo a ver si me sale
mil 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