No funciona la función Máx o Mín en la fila total de una consulta de totales

Tengo una consulta con campos tipo nº piso, puerta, importe.

Para cada piso hay 3 o 4 puertas y en cada puerta varios importes. Uso una consulta de totales con todos los campos "Agrupar por" menos importe que uso "Máx" para que solo aparezca el importe máximo. El resultado sigue sacando todos los valores. No actúa ni pasándolo a "Mín" ni a otra opción.

Igual es por una tontería, pero ¿alguien sabe por que ocurre y como solucionarlo?

2 respuestas

Respuesta
1

Si en la consulta sólo tienes esos tres campos, me parece raro que no te salga como debe, porque lo estás haciendo correctamente.

Si tienes algún otro campo, es probable que el error provenga de ese campo, que tenga registros distintos y no se agrupe en uno sólo con nº piso y puerta.

Si nos pones aquí la SQL de tu consulta, o una imagen de la vista diseño, te diremos algo más concreto.

Saludos.


http://nksvaccessolutions.com/Foro 

Hola Sveinbjorn El Rojo:

Gracias por la rapidez.

Adjunto una captura de pantalla. Verás que los tres primeros campos (con otro nombre) tienen la estructura que describía. Varios GRUP_CLASSE en cada CODI_UPC_UD y varios Suma De HORES en cada GRUP_CLASSE. Los campos de Professor y NIF correponden a los valores Suma De HORES.

Se trata de sacar el professor que tiene más horas en cada CODI_UPC_UD y GRUP_CLASSE.

Es normal que te devuelva todos los registros, porque estás haciendo una consulta de totales sobre otra consulta de totales.

Fíjate: en la consulta 14-15 2Q total hores... tienes un registro para cada profesor, clase y grupo, que te da la suma de horas de cada profesor, clase y grupo, y que coincide con el Maximo ( y mínimo) de cada profesor, clase y grupo, precisamente por ser único.

La consulta sí funciona bien, pero no es la que estás buscando. MIra a ver si este ejemplo te puede orientar:

 http://siliconproject.com.ar/neckkito/index.php/component/content/article/87-ejemplos-explicados/ejemplos-de-consultas/235-el-top-de-los-top 

Se me ocurre una alternativa que puedes probar, sin necesidad de usar código VBA:

Crear una consulta para cada clase y grupo (le pones en criterios la clase y grupo) sobre la consulta "14-15 2Q total hores...", con todos los campos, y la ordenas por el campo "suma de HORES" descendente. Y por último, en la barra de herramientas del diseño de la consulta, donde pone "devuelve", le cambias el Todos por 1. De esta forma, tienes, en cada consulta, el profesor que más horas dio en cada clase y grupo.

Si quieres tenerlos todos en una consulta, creas una consulta de union de todas las consultas individuales. Para ello, las vas abriendo en vista SQL, las copias, y las pegas en la nueva consulta de union, poniendo entre cada SQL la palabra "UNION", algo así:

SELECT * FROM Consulta 1

UNION

SELECT * FROM COnsulta 2

UNION

...

A ver si así te sirve.

Saludos.


http://nksvaccessolutions.com/Foro 

Respuesta

Es cierto que si en la tabla tienes

PISO Puerta Importe

1 a 100

1 b 120

1 c 110

2 a 100

Etc.

En la consulta le pongas lo que le pongas de agrupar, cada registro es diferente, por tanto o agrupas `por puerta y max de importe, o agrupas por piso y max de importe

Perdona Icue:

He puesto más información porque no me he explicado bien.

Creo que debería funcionar.

Gracias por el interés.

Estoy totalmente de acuerdo con lo que te dice Sveinbjorn

Siento no poder decirte más

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas