Access - Cálculo complicado en informe

 
Vista:

Cálculo complicado en informe

Publicado por Miguel Angel (7 intervenciones) el 29/05/2003 20:12:21
Hola a todos.
Estoy ante un problema con Access que desconozco si tiene solución. Poseo un informe en el que cada uno de los registros tiene un campo numérico con una cantidad.
Al final del informe deseo obtener un resultado que provenga de restar a 1000 un % de la cantidad que tiene cada registro. Sin embargo, ese % tiene que ser distinto según la cantidad sea mayor o menor que 100.
He probado con la función Siinm, de forma parecida a esta:

=1000-Siinm([NombreCampo]>=100;0,1*[NombreCampo];0,2*[NombreCampo])

Sin embargo sólo funciona con el primer registro del informe. Es decir, en el primer registro sí evalúa si la cantidad es > ó < 100 y aplica el % correspondiente, restándolo a 1000... pero ahí acaba todo, parece como si no continuara mirando los valores de los siguientes registros.
No se si existe alguna otra función que pueda funcionar en estos casos, o si habrá alguna manera de hacerlo utilizando VBA.
Si alguien me echara una mano, me vendría muy bien. 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

RE:Cálculo complicado en informe

Publicado por Jesus (861 intervenciones) el 29/05/2003 20:42:32
Empieza por poner esa funcion en la consulta origen del informe, de modo que te calcule cada linea.
A partir de aqui se pueden ir solucionando los problemas paso a paso
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

RE:Cálculo complicado en informe

Publicado por Miguel Angel (7 intervenciones) el 29/05/2003 20:44:35
mmm... vaya, ya he encontrado la solución. Parece ser que la fórmula que estaba utilizando no era correcta. Aquí expongo la que sí valdría por si a alguien le puede ser de utilidad.
En vez de la que he puesto en el post anterior, sería:

=1000-Suma(Siinm([NombreCampo]>=100;0,1*[NombreCampo];0))-Suma(Siinm([NombreCampo]<100;0,2*[NombreCampo];0))

Un poco liosa, pero parece que al menos funciona...
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