MS Access 2003: apilar rango en la consulta (valor mayor que 0)

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Access 2003: apilar rango en la consulta (valor mayor que 0)

Este tutorial de MSAccess explica cómo realizar una clasificación de pila para valores mayores que 0 en una consulta en Access 2003 (con capturas de pantalla e instrucciones paso a paso).

Pregunta: En Microsoft Access 2003/XP/2000/97, me ayudó a escribir una fórmula de rango de pila, la lógica es la siguiente:

Devuelve 1 si AHT está en el 20% superior.
Devuelve 2 si AHT está en el próximo 20%.
Devuelve 3 si AHT está en el próximo 20%.
Devuelve 4 si AHT está en el próximo 20%.
Luego, para el número restante, se devuelve un 5.

Funciona bien, excepto que tengo algunos valores de AHT que son 0 y no quiero que esos valores se agreguen al rango de la pila. ¿Hay alguna manera de escribir la fórmula de modo que si el valor > 0 entonces el rango de la pila?

Respuesta: Sí, esto se puede hacer usando la función DCont y la función IIf de la siguiente manera:

IIf([AHT]=0,Null, IIf(DCount("AHT","Data Table","AHT>0 and AHT<=" & [AHT])/DCount("AHT","Data Table","AHT>0")<=0.2, 1, IIf(DCount("AHT","Data Table","AHT>0 and AHT<=" & [AHT])/DCount("AHT","Data Table","AHT>0")<=0.4, 2, IIf(DCount("AHT","Data Table","AHT>0 and AHT<=" & [AHT])/DCount("AHT","Data Table","AHT>0")<=0.6, 3, IIf(DCount("AHT","Data Table","AHT>0 and AHT<=" & [AHT])/DCount("AHT","Data Table","AHT>0")<=0.8, 4, 5)))))

Tenga en cuenta que este método de evaluar el rango de la pila le dará a los números duplicados el mismo rango.