Tabla con rangos e importes para ser buscados con una consulta

En la empresa en la que trabajo, los agentes comerciales cobran una comisión dependiendo del porcentaje de las ventas:
Por ejemplo, si venden entre un 100% y un 105% de las previsiones cobran 100 €, entre el 105% y el 110% cobran 200 €, etc.

¿Se puede hacer una tabla con estos rangos e importes para que una consulta busque la comisión correspondiente?

2 Respuestas

Respuesta
1

Supongamos que tienes una tabla con Idvendedor, Nombre, Previsión, Ventas. Con ella puedes hacer una consulta y añadirle un campo nuevo y poner

comision:SiInm([venta]<=[prevision];0;SiInm([venta]>[prevision] Y [venta]<1,05*[prevision];100;200))

Entonces en aquellos registros de las tablas cuya venta sea menor de la previsión, no le das nada, si las ventas están entre lo previsto y un 105% le das 100 euros y si supera esa cantidad 200. Y si hubiera, más rapel con ir añadiendo instrucciones Siinm, solucionado

Respuesta
1

Si se puede, y para obtener los valores, puedes hacerlo con la función DLookUp(), por ejemplo.

Tienes aquí un ejemplo de como hacerlo:

Ubicar una cifra dentro de un rango de números ACCESS

Un saludo.


Hola, me gusta más esta solución ya que es mucho mas sencillo cambiar los rangos de una tabla que los de una fórmula. Sin embargo, al ser mi caso diferente del ejemplo (quiero aplicarlo a una consulta, no a un formulario) tengo problemas para adaptarlo. Ya que mi nivel de Visual Basic es cero, he intentado crear la fórmula añadiendo un campo en la consulta pero access no reconocía las comas, así que las he cambiado por puntos y comas y, automáticamente, ha traducido la expresión al castellano:

Expr1: DBúsq("[Comisión]";"[Tabla_de_incentivos]";"[Porcent_desde]>=" & [INCENTIVOS_COMPLEJA]![% Cumplimento ponderado] & " AND [Porcent_hasta]<" & [% Cumplimento ponderado])

El problema lo tengo con [% Cumplimiento ponderado], que es un campo de la consulta pero no lo reconoce diciendo "introduzca el valor del parámetro", y aunque ponga yo el parámetro manualmente la función no devuelve nada.

Muchas gracias y un saludo.

Había una errata en la fórmula

Expr1: DBúsq("[Comisión]";"[Tabla_de_incentivos]";"[Porcent_desde]>=" & [% Cumplimento ponderado] & " AND [Porcent_hasta]<" & [% Cumplimento ponderado])

Si [% Cumplimiento ponderado] es un campo que calculas en la propia consulta, o lo haces por pasos (1º una consulta en la que lo calcules y 2º otra consulta sobre la anterior en la que busques los porcentajes en la tabla) o en vez del nombre del campo [% Cumplimiento ponderado] pones su fórmula de cálculo.

¡Funciona! Pero... hay un pero: "Error de sintaxis (coma) en la expresión de consulta". Me sale este error cuando el importe del campo [% Cumplimiento ponderado] no es entero (tiene una coma), que es prácticamente en todos los casos. Este campo lo tengo configurado como número doble aunque previamente lo he importé desde una tabla de excel exportada de otra base de datos (Microsoft Dynamics AX). Espero no abusar de tu amabilidad.

Muchas gracias.

Usa Replace() para cambiar la coma por punto, a ver si así se te soluciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas