Ordenar de mayor a menor en access 2010

Tengo un problemilla que ya llevo varias semanas intentando solucionar. De momento he solucionado una parte pero me queda la segunda y la más importante para los usuarios que me piden que de una consulta donde calculo los chekings points. Me los ordene de mayor a menor. He probado poniendo en la consulta en cada campo que lo ordene descendente. Pero sigue saliendo en el informe y en la consulta como sino lo hubiese ordenado os enseño una imagen.

1 respuesta

Respuesta
1

Francesc, ahora que veo el resultado que buscas (ordenar los campos por sus valores) y no el que das a entender con tu pregunta (ordenar los registros de la consulta), mucho me temo que tiene "difícil" solución.

En la consulta no vas a conseguir nada usando los criterios de ordenación (lo mismo que en el informe), pues esos criterios lo que hacen es ordenar los registros de un mismo campo, no los campos entre sí.

Se me ocurre que hagas una consulta de unión sobre tu consulta de totales (obviamente hablo sin conocer en detalle toda tu BD y si te servirá para lo que quieres), de esta forma (en vista SQL):

SELECT "NombreLiteralCurso1" As Curso, Expr1 AS Valor FROM NombreConsulta

UNION ALL

SELECT "NombreLiteralCurso2" As Curso, Expr2 AS Valor FROM NombreConsulta

UNION ALL

SELECT "NombreLiteralCurso3" As Curso, Expr3 AS Valor FROM NombreConsulta

...

ORDER BY Valor DESC;

Donde NombreLiteralCursoX será el nombre que quieras, que identificará el curso (o lo que sea), Curso el nombre para el primer campo de la nueva consulta, ExprX es el nombre de cada campo de tu consulta y Valor el nombre para el campo del segundo campo de la nueva consulta.

Esta consulta te devolverá los cursos con su valor, ordenados de mayor a menor. Tendrás que ver si te sirve ara tu informe.

La otra alternativa (en caso de ser factible) sería programar el informe para que antes de mostrarse se "reconfiguren" los cuadros de texto de acuerdo a sus valores.

No he entendido bien lo del campo Valor.

Te subo un ejemplo: http://www.filebig.net/files/WEhD3xMLku 

"Valor" es un nombre que me inventé yo, porque la consulta de union requiere que todos los campos de los distintos orígenes tengan el mismo nombre.

ok ok gracias es que más o menos lo había entendido

Hago la consulta de union y cuando llevo tres o cuatro funciona bien pero cuando ya llevo 11 selects ya no me funciona me sale el siguiente error:

Y no veo donde falta lo que me piden

tienes un SELCT en vez de SELECT

¡Gracias! Ni lo había visto y eso que he estado mirándolo varias veces

¡Gracias! Ni lo había visto ahora si que funciona perfectamente.

Lo siento por ser tan pesado. Pero después de poner todos los campos, de la consulta la ejecuto y me pone que la consulta es demasiado compleja. ¿Puede ser porque hay 59 SELECTS?

SALUDOS

Puede ser... Inténtalo haciendo varias consultas con menos SELECTs y luego las unes entre sí.

Y como las puedo unir?

Consulta de union, igual que estás haciendo ahora

¡Gracias! 

Al hacerlo he puesto lo siguiente:

Y al ejecutarlo sale solo valor y curs

Que puedo estar haciendo mal

Pues todo... XD

Select * From NombreConsulta

union all

Select * From NombreConsulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas